【问题标题】:Streaming Audio to a Device via MediaRouter通过 MediaRouter 将音频流式传输到设备
【发布时间】:2014-11-07 06:34:40
【问题描述】:
我想通过 MediaRouter 类将音频文件从我的 android 设备流式传输到另一个设备。据我了解,我需要
mediarouter.addCallback(MediaRouter.ROUTE_TYPE_LIVE_AUDIO, mCallback);
监听连接的设备是否正在播放音频的功能。但是我不确定。
我的问题是如何获取音频流?
【问题讨论】:
标签:
android
routing
audio-streaming
【解决方案1】:
如果您使用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);