通过MediaRouter将音频流式传输到设备
问题描述:
我想通过MediaRouter类将音频文件从Android设备流式传输到另一台设备。据我所知我需要通过MediaRouter将音频流式传输到设备
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);