声音在Android设备上不起作用。在模拟器上正常工作

问题描述:

我尝试过改变声音方案的几种方法。我查看了Uri和SoundPool,但我不确定我是否正确使用它们。这里是工作代码的MediaPlayer:声音在Android设备上不起作用。在模拟器上正常工作

final Context context; 
MediaPlayer media; 

void play() 
{ 

media=MediaPlayer.create(context, R.raw.soundFile); 
media.start(); 
} 

正如我所说的它运行在模拟器罚款。这是一个ogg声音文件,但我尝试过mp3和wav。

这里是崩溃日志文件:

D/AndroidRuntime( 981): Shutting down VM 
W/dalvikvm( 981): threadid=1: thread exiting with uncaught exception (group=0x4 
0a9c228) 
E/AndroidRuntime( 981): FATAL EXCEPTION: main 
E/AndroidRuntime( 981): android.content.res.Resources$NotFoundException: File r 
es/raw/ouch.ogg from drawable resource ID #0x7f040000 
E/AndroidRuntime( 981):  at android.content.res.Resources.openRawResource 
Fd(Resources.java:1081) 
E/AndroidRuntime( 981):  at android.media.MediaPlayer.create(MediaPlayer. 
java:762) 
E/AndroidRuntime( 981):  at Seven.Circle.GameView.onTouchEvent(GameView.j 
ava:185) 
E/AndroidRuntime( 981):  at android.view.View.dispatchTouchEvent(View.jav 
a:5579) 
E/AndroidRuntime( 981):  at android.view.ViewGroup.dispatchTransformedTou 
chEvent(ViewGroup.java:1965) 
E/AndroidRuntime( 981):  at android.view.ViewGroup.dispatchTouchEvent(Vie 
wGroup.java:1692) 
E/AndroidRuntime( 981):  at android.view.ViewGroup.dispatchTransformedTou 
chEvent(ViewGroup.java:1965) 
E/AndroidRuntime( 981):  at android.view.ViewGroup.dispatchTouchEvent(Vie 
wGroup.java:1692) 
E/AndroidRuntime( 981):  at android.view.ViewGroup.dispatchTransformedTou 
chEvent(ViewGroup.java:1965) 
E/AndroidRuntime( 981):  at android.view.ViewGroup.dispatchTouchEvent(Vie 
wGroup.java:1692) 
E/AndroidRuntime( 981):  at com.android.internal.policy.impl.PhoneWindow$ 
DecorView.superDispatchTouchEvent(PhoneWindow.java:1982) 
E/AndroidRuntime( 981):  at com.android.internal.policy.impl.PhoneWindow. 
superDispatchTouchEvent(PhoneWindow.java:1441) 
E/AndroidRuntime( 981):  at android.app.Activity.dispatchTouchEvent(Activ 
ity.java:2414) 
E/AndroidRuntime( 981):  at com.android.internal.policy.impl.PhoneWindow$ 
DecorView.dispatchTouchEvent(PhoneWindow.java:1930) 
E/AndroidRuntime( 981):  at android.view.View.dispatchPointerEvent(View.j 
ava:5759) 
E/AndroidRuntime( 981):  at android.view.ViewRootImpl.deliverPointerEvent 
(ViewRootImpl.java:2963) 
E/AndroidRuntime( 981):  at android.view.ViewRootImpl.handleMessage(ViewR 
ootImpl.java:2522) 
E/AndroidRuntime( 981):  at android.view.ViewRootImpl.processInputEvents(
ViewRootImpl.java:862) 
E/AndroidRuntime( 981):  at android.view.ViewRootImpl.handleMessage(ViewR 
ootImpl.java:2531) 
E/AndroidRuntime( 981):  at android.os.Handler.dispatchMessage(Handler.ja 
va:99) 
E/AndroidRuntime( 981):  at android.os.Looper.loop(Looper.java:154) 
E/AndroidRuntime( 981):  at android.app.ActivityThread.main(ActivityThrea 
d.java:4894) 
E/AndroidRuntime( 981):  at java.lang.reflect.Method.invokeNative(Native 
Method) 
E/AndroidRuntime( 981):  at java.lang.reflect.Method.invoke(Method.java:5 
11) 
E/AndroidRuntime( 981):  at com.android.internal.os.ZygoteInit$MethodAndA 
rgsCaller.run(ZygoteInit.java:784) 
E/AndroidRuntime( 981):  at com.android.internal.os.ZygoteInit.main(Zygot 
eInit.java:551) 
E/AndroidRuntime( 981):  at dalvik.system.NativeStart.main(Native Method) 

E/AndroidRuntime( 981): Caused by: java.io.FileNotFoundException: This file can 
not be opened as a file descriptor; it is probably compressed 
E/AndroidRuntime( 981):  at android.content.res.AssetManager.openNonAsset 
FdNative(Native Method) 
E/AndroidRuntime( 981):  at android.content.res.AssetManager.openNonAsset 
Fd(AssetManager.java:503) 
E/AndroidRuntime( 981):  at android.content.res.Resources.openRawResource 
Fd(Resources.java:1078) 
E/AndroidRuntime( 981):  ... 26 more 

到现在为止我还没有注意到“E/AndroidRuntime(981):致命异常:主要 E/AndroidRuntime(981):android.content。 res.Resources $ NotFoundException:文件r es/raw/ouch.ogg来自可绘制资源ID#0x7f040000 “,这确实是我正在寻找的错误。我很乐意提供一些解决方案。在此之前我会继续调试。

+0

是设备音量开启和/或向上?不要试图粗鲁或问一个愚蠢的问题,但有时人们会忘记检查那种东西。 – BlackHatSamurai 2012-07-06 01:45:47

+0

是设备音量打开。我忘了指定在调用声音时它实际上会使手机上的应用程序崩溃。 – Kevin 2012-07-06 02:01:34

+1

你能随时给我们提供一个崩溃日志吗? – BlackHatSamurai 2012-07-06 02:18:37

提供错误的LogCat记录将非常有帮助。此外,请尝试查看在那里生成的错误日志,并查看是否可以发现“由...引起”标记,并阅读相应的错误消息,该错误消息应指向错误标记为的文件中的行号。

(编辑:你可以看到,如果U单点日志中的所有用户创建的文件,因为日志是失焦的,我不能看到整个事情)