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

问题描述 投票:0回答:2

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

现在我想让一些按钮在按下时发出“咔哒声”:

有人有帮助提示(甚至工作示例)吗?

python android cross-platform beeware
2个回答
2
投票

如果您使用的是 Briefcase 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)

这将播放与 Python 源文件同一目录中的文件“filename.mp3”。


0
投票

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 并在手机设置中授予媒体权限

© www.soinside.com 2019 - 2024. All rights reserved.