我现在有一个无线电在Windows 10存储流媒体应用。 现在,我想给我的用户记录当前流MP3文件的可能性。
是否有人对你有关于如何保存音频流的建议吗? 我无法找到给我的字节来拯救他们的财产或事件。
我使用的Windows.Media.Playback.Mediaplayer类。
提前致谢
基督教
我现在有一个无线电在Windows 10存储流媒体应用。 现在,我想给我的用户记录当前流MP3文件的可能性。
是否有人对你有关于如何保存音频流的建议吗? 我无法找到给我的字节来拯救他们的财产或事件。
我使用的Windows.Media.Playback.Mediaplayer类。
提前致谢
基督教
一般来说,你不能从中获取音频流Mediaplayer
直接。 但是,您可以监视通过音频Stereo Mix
设备。
设置立体声混音为预设记录装置。 并通过音频捕捉MediaCapture
类。
private async Task<bool> RecordProcess()
{
if (buffer != null)
{
buffer.Dispose();
}
buffer = new InMemoryRandomAccessStream();
if (capture != null)
{
capture.Dispose();
}
try
{
MediaCaptureInitializationSettings settings = new MediaCaptureInitializationSettings
{
StreamingCaptureMode = StreamingCaptureMode.Audio
};
capture = new MediaCapture();
await capture.InitializeAsync(settings);
capture.RecordLimitationExceeded += (MediaCapture sender) =>
{
//Stop
// await capture.StopRecordAsync();
record = false;
throw new Exception("Record Limitation Exceeded ");
};
capture.Failed += (MediaCapture sender, MediaCaptureFailedEventArgs errorEventArgs) =>
{
record = false;
throw new Exception(string.Format("Code: {0}. {1}", errorEventArgs.Code, errorEventArgs.Message));
};
}
catch (Exception ex)
{
if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UnauthorizedAccessException))
{
throw ex.InnerException;
}
throw;
}
return true;
}
需要注意的是Stereo
只能监控从相同的硬件设备的音频输出的那个。 所以,你需要设置可用的播放设备。 对于代码示例,你可以参考这个 。