|
8 | 8 |
|
9 | 9 | namespace CefSharp.Example.Handlers
|
10 | 10 | {
|
11 |
| - public class AudioHandler : IAudioHandler |
| 11 | + public class AudioHandler : Handler.AudioHandler |
12 | 12 | {
|
13 | 13 | private ChannelLayout channelLayout;
|
14 | 14 | private int channelCount;
|
15 | 15 | private int sampleRate;
|
16 | 16 |
|
17 |
| - bool IAudioHandler.GetAudioParameters(IWebBrowser chromiumWebBrowser, IBrowser browser, ref AudioParameters parameters) |
| 17 | + protected override bool GetAudioParameters(IWebBrowser chromiumWebBrowser, IBrowser browser, ref AudioParameters parameters) |
18 | 18 | {
|
19 | 19 | //Cancel Capture
|
20 | 20 | return false;
|
21 | 21 | }
|
22 |
| - |
23 |
| - void IAudioHandler.OnAudioStreamError(IWebBrowser chromiumWebBrowser, IBrowser browser, string errorMessage) |
| 22 | + protected override void OnAudioStreamError(IWebBrowser chromiumWebBrowser, IBrowser browser, string errorMessage) |
24 | 23 | {
|
| 24 | + base.OnAudioStreamError(chromiumWebBrowser, browser, errorMessage); |
| 25 | + } |
25 | 26 |
|
| 27 | + protected override void OnAudioStreamStarted(IWebBrowser chromiumWebBrowser, IBrowser browser, AudioParameters parameters, int channels) |
| 28 | + { |
| 29 | + this.channelLayout = parameters.ChannelLayout; |
| 30 | + this.sampleRate = parameters.SampleRate; |
| 31 | + this.channelCount = channels; |
26 | 32 | }
|
27 | 33 |
|
28 |
| - void IAudioHandler.OnAudioStreamPacket(IWebBrowser chromiumWebBrowser, IBrowser browser, IntPtr data, int noOfFrames, long pts) |
| 34 | + protected override void OnAudioStreamPacket(IWebBrowser chromiumWebBrowser, IBrowser browser, IntPtr data, int noOfFrames, long pts) |
29 | 35 | {
|
30 | 36 | //NOTE: data is an array representing the raw PCM data as a floating point type, i.e. 4-byte value(s)
|
31 | 37 | //Based on and the channelLayout value passed to IAudioHandler.OnAudioStreamStarted
|
32 | 38 | //you can calculate the size of the data array in bytes.
|
| 39 | + //See https://github.com/cefsharp/CefSharp/issues/2806 for discussion on implementing an example. |
33 | 40 | }
|
34 | 41 |
|
35 |
| - void IAudioHandler.OnAudioStreamStarted(IWebBrowser chromiumWebBrowser, IBrowser browser, AudioParameters parameters, int channels) |
| 42 | + protected override void OnAudioStreamStopped(IWebBrowser chromiumWebBrowser, IBrowser browser) |
36 | 43 | {
|
37 |
| - this.channelLayout = parameters.ChannelLayout; |
38 |
| - this.sampleRate = parameters.SampleRate; |
39 |
| - this.channelCount = channels; |
| 44 | + base.OnAudioStreamStopped(chromiumWebBrowser, browser); |
40 | 45 | }
|
41 | 46 |
|
42 |
| - void IAudioHandler.OnAudioStreamStopped(IWebBrowser chromiumWebBrowser, IBrowser browser) |
| 47 | + protected override void Dispose(bool disposing) |
43 | 48 | {
|
44 |
| - |
| 49 | + base.Dispose(disposing); |
45 | 50 | }
|
46 | 51 | }
|
47 | 52 | }
|
0 commit comments