and*_*per 8 android inputstream playback android-mediaplayer audiotrack
我已成功将音频文件(3gp)上传到Google-Drive.
现在我希望能够在应用程序中播放该文件.
Google Drive API仅允许获取存储在其中的文件的输入流.
在我的情况下,输入的所有MediaPlayer功能都不可用,只有InputSteam:
我知道我可以将文件从Google-Drive保存到缓存并播放,但我想避免存储处理,并动态播放文件.
我试图搜索这个问题,并且发现可能使用AudioTrack(这里).它也可能使用新的Jelly-Bean功能(在这里显示,从这里找到),但我不确定它是否相当低级别.
可悲的是,使用AudioTrack我听错了声音(噪音).
我还注意到MediaPlayer可以选择将dataSource设置为MediaDataSource(这里),但不仅我不确定如何使用它,它还需要API 23及更高版本.
当然,我尝试使用Google-Drive中提供的网址,但这仅用于其他目的,并未定向到音频文件,因此无法使用MediaPlayer.
给定一个InputStream,是否可以使用AudioTrack或其他东西来播放音频3gp文件?
可能有支持库解决方案吗?
如果您的minSdkVersion年龄为 23 或更高,您可以使用setDataSource(MediaDataSource)并提供您自己的该类的子abstract MediaDataSource类。
对于较旧的设备,您应该能够使用从ParcelFileDescriptor. 您将有一个线程将数据写入管道的一端,并将玩家一端的FileDescriptor(from ) 传递到。getFileDescriptor()setDataSource(FileDescriptor)