有人可以幫助。當我通過單擊按鈕調用RequestDeviceAccess時,它總是返回false。Silverlight 4 RequestDeviceAccess()總是返回null。沒有對話
下面是代碼
公共部分類的MainPage:用戶控件 { 私人AudioCaptureDevice _audioDevice; 私人CaptureSource _captureSource; private AudioFormat _format; private MemoryAudioSink _sink;
public MainPage()
{
InitializeComponent();
_audioDevice = CaptureDeviceConfiguration.GetDefaultAudioCaptureDevice();
if (_audioDevice == null)
{
return;
}
_captureSource = new CaptureSource() { AudioCaptureDevice = _audioDevice };
_format = _captureSource.AudioCaptureDevice.SupportedFormats.FirstOrDefault(p => p.WaveFormat == WaveFormatType.Pcm && p.BitsPerSample == 16 && p.SamplesPerSecond == 8000 && p.Channels == 1);
_captureSource.AudioCaptureDevice.DesiredFormat = _format;
}
private bool EnsureAudioAccess()
{
return CaptureDeviceConfiguration.AllowedDeviceAccess || CaptureDeviceConfiguration.RequestDeviceAccess();
}
private void btnStartCapture_Click(object sender, RoutedEventArgs e)
{
if (!EnsureAudioAccess()) return;
_sink = new MemoryAudioSink();
_sink.CaptureSource = _captureSource;
_captureSource.Start();
this.media1.SetSource(_sink.BackingStream);
this.media1.Play();
}
}