2013-03-20 96 views
4

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

mediarouter.addCallback(MediaRouter.ROUTE_TYPE_LIVE_AUDIO, mCallback); 

函数侦听是否连接的设备正在播放音频。但我不确定这一点。 我的问题是如何获得音频流?

回答

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); 
相关问题