【发布时间】:2020-11-13 12:20:18
【问题描述】:
我正在使用 Microsoft Media Foundation 编写音频播放器。 我想知道是否可以在不重新创建会话的情况下更改播放设备?
IMFActivate *m_p_sink_activate;
...
m_p_sink_activate->SetString(MF_AUDIO_RENDERER_ATTRIBUTE_ENDPOINT_ID, name_device);
如果音频已经在播放,这不会生效。
顺便说一句,Microsoft.Windows.SDK.Contracts (Windows.Media.Playback.MediaPlayer) 提供的媒体播放器做得很完美。 当我更改 m_mediaPlayer.AudioDevice 时,音频流会立即重定向到分配的设备。所以我想知道这是否也适用于 MSMF。
【问题讨论】:
标签: c++ multimedia