|
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