0
解決済みAndroid搭載端末にkivyを搭載したサウンドを読み込む
私は、音を演奏するkivyアプリケーションを持っています。 GNU/Linuxでは正常に動作しますが、Android搭載端末でアプリがクラッシュします。ここでは、コマンドからの数行は、次のとおりです。ここbuildozer android_newデバッグ、デプロイ、実行logcat
V/SDL (29083): SDL audio: opening device
V/SDL (29083): SDL audio: wanted stereo 16-bit 44.1kHz, 4096 frames buffer
I/AudioPolicyManager(2267): getOutputForAttr() device 0x2, samplingRate 44100, format afcad8d8, channelMask 1, flags 0
I/AudioPolicyManager(2267): getOutputForAttr() output 2
W/AudioPolicyIntefaceImpl(2267): Skipped to add effects on session 182
I/AudioPolicyManager(2267): startOutput() output 2, stream 3, session 182
I/AudioPolicyManager(2267): changeRefCount() stream 3, count 1
I/AudioPolicyManager(2267): setOutputDevice() setting same device 0002 or null device for output 2
V/SDL (29083): SDL audio: got stereo 16-bit 44.1kHz, 4096 frames buffer
I/python (29083): [WARNING] [AudioSDL2 ] Unable to load sounds/applause.wav: Mix_LoadWAV_RW with NULL src
D/AudioMixer(2267): setResampler format 1, data ch 2, src 44100, dst 48000, dnmix 0, reformat 0
D/SoundAliveResampler(2267): [SoundAliveResampler] Init+++
I/AudioHardwareTinyALSA(2267): AudioStreamOutALSA::write setDevice
D/AudioHardwareTinyALSA(2267): OutALSA::setDevice: mode = 0, newDevice=0x2, currentDevice=0x2 ,force= 0
D/AudioHardwareTinyALSA(2267): OutALSA::setDevice: mDevice 0x2, newDevice = 0x2
D/AudioHardwareTinyALSA(2267): setOutputVolume
D/TinyUCM (2267): setModifier Normal, en=1
I/AudioHardwareTinyALSA(2267): OutALSA::setDevice: mHandle NULL mode[0], Device[00000002] nDevice:3
I/AudioHardwareTinyALSA(2267): Open:+ mDefaults->direction=0 device=3
D/AudioHardwareTinyALSA(2267): Channel: 2, Samplerate: 48000, Format: 0, Period Size: 960, Period Count: 4
はそのために私が持っているPythonコードの一部です:
######################################### snip
from kivy.core.audio import SoundLoader
sound = SoundLoader.load('sounds/applause.wav')
sound.play()
######################################### snip
それは簡単にできませんでした。
GNU/Linuxでは、kivyアプリはうまく動作しますが、サウンドを読み込もうとするとSamsung Androidタブレットでクラッシュします。
本当にありがとうございます。
ありがとうございました
発生した例外を表示するには 'adb logcat -s python'を使用してください。 'adb'はあなたのsdk platform-toolsフォルダにあります。 – Juggernaut
私は以前に公表したもの以上はありません。 I/python(31447):[警告] [AudioSDL2]サウンド/ applause.wavを読み込めません:Mix_LoadWAV_RWにNULLがあります。src – climb65
python/linux側ではすべて問題ありません。この問題は、AndroidとAudioSDL2が原因です。 1つの質問: "NULL src"とは何ですか?別のWAVファイルを試してみます。ファイルがAndroid用に十分でない可能性があります。 – climb65