我想通过 MediaRouter 类将音频文件从我的 android 设备流式传输到另一个设备。据我了解,我需要
mediarouter.addCallback(MediaRouter.ROUTE_TYPE_LIVE_AUDIO, mCallback);
功能来监听连接的设备是否正在播放音频。但是,我不确定这一点。
我的问题是如何获取音频流?
最佳答案
如果您使用 AudioTrack
播放音频,则需要确保 streamType
与路线的 streamType
匹配。要获取路线的 streamType
,只需执行以下操作:
private final MediaRouter.Callback mMediaRouterCallback =
new MediaRouter.Callback() {
@Override
public void onRouteSelected(MediaRouter router, MediaRouter.RouteInfo route) {
Log.i(TAG, "streamType = " + route.getPlaybackStream());
}
};
通常它是
AudioManager.STREAM_MUSIC
。因此,当您初始化 AudioTrack
时,请确保:_audioTrack = new AudioTrack(
AudioManager.STREAM_MUSIC,
sampleRate,
channelConfig,
audioFormat,
bufferSize,
mode);