通过MediaRouter将音频流式传输到设备

时间:2013-03-20 23:01:18

标签: android routing audio-streaming

我想通过MediaRouter类将音频文件从我的Android设备流式传输到另一个。据我所知,我需要

mediarouter.addCallback(MediaRouter.ROUTE_TYPE_LIVE_AUDIO, mCallback);

用于监听连接的设备是否正在播放音频。但是我不确定。 我的问题是我如何获得音频流?

1 个答案:

答案 0 :(得分: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);