使用适用于 android 的字节播放声音

Posted

技术标签:

【中文标题】使用适用于 android 的字节播放声音【英文标题】:Play sound using bytes that works on android 【发布时间】:2021-05-17 21:52:30 【问题描述】:

我有一个来自套接字的字节数组,客户端(应用程序)接收这些字节,我需要一种在 android 上播放这些字节的方法。我已经测试了 PyAudio(在 linux 上正确安装时会产生奇迹。)但我不能在 android 上使用 PyAudio。 (我正在使用 Kivy 构建我的应用程序)

有没有一些工具可以在 android 上播放字节格式的音频?

【问题讨论】:

【参考方案1】:

好吧,我建议使用默认的 android 音频播放器。您可以使用jinus 访问它。

from jnius import autoclass
MediaPlayer = autoclass('android.media.MediaPlayer')
AudioManager = autoclass('android.media.AudioManager')

self.sound = MediaPlayer()
self.sound.setDataSource(yourDataSource) #you can provide any data source, if its on the devie then the file path, or its url if you are playing online
self.sound.prepare()
self.sound.setLooping(False) #you can set it to true if you want to loop
self.sound.start()
# You can also use the following according to your needs
#self.sound.pause()
#self.sound.stop()
#self.sound.release()
#self.sound.getCurrentPosition()
#self.sound.getDuration()

【讨论】:

您好!非常感谢你分享这个!我想知道如何设置它来播放实时音频(因为我从套接字接收字节,所以我需要一种方法来播放它们。)我找到了一些使用jnius 播放音频的方法来自这些链接的文件:***.com/questions/45061116/playing-mp3-on-androidgithub.com/kivy/pyjnius/blob/master/docs/source/android.rst您的回答没有完全回答我对以字节格式播放音频的工具的问题? 好吧,我已经编辑了代码。我希望这会有所帮助

以上是关于使用适用于 android 的字节播放声音的主要内容,如果未能解决你的问题,请参考以下文章

在android soundpool中播放新声音时如何停止所有其他以前的声音?

防止 Java 7/8 采样声音在播放时点击(适用于 6)

Unity 播放声音

Unity 播放声音

声音仅适用于设备,但不适用于模拟器

使用 Qt 播放特定的系统声音