2017-03-16 23 views
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タブレットでクラッシュします。

本当にありがとうございます。

ありがとうございました

+0

発生した例外を表示するには 'adb logcat -s python'を使用してください。 'adb'はあなたのsdk platform-toolsフォルダにあります。 – Juggernaut

+0

私は以前に公表したもの以上はありません。 I/python(31447):[警告] [AudioSDL2]サウンド/ applause.wavを読み込めません:Mix_LoadWAV_RWにNULLがあります。src – climb65

+0

python/linux側ではすべて問題ありません。この問題は、AndroidとAudioSDL2が原因です。 1つの質問: "NULL src"とは何ですか?別のWAVファイルを試してみます。ファイルがAndroid用に十分でない可能性があります。 – climb65

答えて

0

私はちょうど私の問題を解決しました!

それはとてもシンプルでした:なぜ私はそれについて考えなかったのですか?

解決策は、ファイルサフィックスをbuildozer.specの行 "source.include_exts"に設定することでした。

関連する問題