我能够使2台设备通过RFCOMM通道通过蓝牙进行连接,这两个设备均应用户的要求成为服务器,而用户将连接的设备仍然是服务器,而后者则成为客户端。
基于:https://developer.android.com/guide/topics/connectivity/bluetooth#java
因此,我可以从InputStream / OutputStream读取数据/向其中写入数据,套接字通过自定义协议公开这些数据并与其他设备进行交互,其中第一行是可以执行的操作,而下一行是动作需要的数据。现在,我已经完成了暂停/恢复的功能,接下来我需要将音频文件流式传输到另一个文件。
通过我所见,ExoPlayer仅公开了createMediaSource方法,该方法可以与指向本地文件的Uri结合使用,该方法对本地文件非常适用。
MediaSource mediaSource = factory.createMediaSource(Uri.parse(track.getPath()));
exoPlayer.prepare(mediaSource);
但是我在任何地方都找不到能够提供前向字节块的简单方法,因此,假设一个块是1024字节,每个到达的块,播放器将能够处理并立即回放或缓冲它。
我已经看到一些使用上游类并实现DataSource接口的建议,但是我仍然必须提供Uri,我似乎无法理解如何避免它,一些建议或一些摘要将显示非常感谢您入门。