在UWP节省HTML5音频流MP3文件(In UWP saving HTML5 Audio stre

2019-10-28 13:56发布

我现在有一个无线电在Windows 10存储流媒体应用。 现在,我想给我的用户记录当前流MP3文件的可能性。

是否有人对你有关于如何保存音频流的建议吗? 我无法找到给我的字节来拯救他们的财产或事件。

我使用的Windows.Media.Playback.Mediaplayer类。

提前致谢

基督教

Answer 1:

一般来说,你不能从中获取音频流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只能监控从相同的硬件设备的音频输出的那个。 所以,你需要设置可用的播放设备。 对于代码示例,你可以参考这个 。



文章来源: In UWP saving HTML5 Audio stream to mp3 file