如何在BeeWare使用Python创建的Android应用程序中播放声音



我使用BeeWare环境,使用Python(Toga作为布局工具(为Android创建了一个简单的MahJong游戏(找到并点击对以删除它们(。

现在我想让一些按钮给一个";点击声";按下时:

有人有帮助的提示(甚至是工作示例(吗

如果您使用的是公文包0.3.10或更新版本(使用Chaquopy在Android上支持Python(,则可以使用Chaquopy Python API使用SoundPool播放音频文件。

例如,这个答案中的代码可以用Python编写如下:

from android.media import AudioManager, SoundPool
from os.path import dirname, join
soundPool = SoundPool(5, AudioManager.STREAM_MUSIC, 0)
soundId = soundPool.load(join(dirname(__file__), "filename.mp3"), 1)
soundPool.play(soundId, 1, 1, 0, 0, 1)

这将播放文件";filename.mp3";来自与Python源文件相同的目录。

Beeware提供对android.media.MediaPlayer类的访问。这是对我有用的东西

from android.media import MediaPlayer
mediaPlayer=MediaPlayer()
mediaPlayer.setDataSource("your_file_path")
mediaPlayer.prepare()
mediaPlayer.start()

添加到清单权限READ_EXTERNAL_STORAGE和READ_MEDIA_AUDIO并在手机设置中授予媒体权限您可以将自己的_file_path设置为/storage/emulated/0/Documents或/storage/semulated/0/Downloads或/storake/semulated/0/DCIM所有允许访问的位置("/storage/simulated/0/"对应于/内部存储/在本地文件资源管理器中(

相关内容

最新更新