2012-05-09 9 views
2

非常に短いアプリで、ボタンを押して音を出します。サウンドはmp3/wav形式ですが、アプリはEclipseのVMで動作しますが、電話で試してみると(Galaxy S2)動作しません。 XMLファイルでメディアプレーヤーを作成できません。短いAndroidアプリ

public class SoundBites extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.soundbite);  
    } 

    public void SheldonButtonListener(View v){ 
     MediaPlayer mp_bazinga = MediaPlayer.create(getBaseContext(), R.raw.bazinga); 
     mp_bazinga.start(); 
    } 

    public void SpanishButtonListener(View v){ 
     MediaPlayer mp_spanish = MediaPlayer.create(getBaseContext(), R.raw.spanish_inquisition); 
     mp_spanish.start(); 
    } 

    public void NudgeButtonListener(View v){ 
     MediaPlayer mp_nudge = MediaPlayer.create(getBaseContext(), R.raw.nudge_nudge); 
     mp_nudge.start(); 
    } 
} 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:weightSum="1.0"> 

    <View 
     android:id="@+id/buttons_helper1" 
     android:layout_width="0dp" 
     android:layout_height="0dp" 
     android:layout_centerHorizontal="true" /> 

    <View 
     android:id="@+id/buttons_helper2" 
     android:layout_width="0dp" 
     android:layout_height="0dp" 
     android:layout_centerVertical="true" /> 

    <Button 
     android:id="@+id/bazinga_button" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_toLeftOf="@+id/buttons_helper1" 
     android:layout_above="@+id/buttons_helper2" 
     android:background="@drawable/sheldon_cooper" 
     android:onClick="SheldonButtonListener" /> 

    <Button 
     android:id="@+id/spanish_button" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_toRightOf="@+id/buttons_helper1" 
     android:layout_above="@+id/buttons_helper2" 
     android:background="@drawable/spanish_inquisition" 
     android:onClick="SpanishButtonListener" /> 

    <Button 
     android:id="@+id/nudge_button" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_below="@+id/buttons_helper2" 
     android:background="@drawable/nudge_nudge" 
     android:onClick="NudgeButtonListener" /> 

</RelativeLayout> 

と私は次のエラーを取得する:

05-09 20:12:15.395: E/MediaPlayer(15110): Unable to to create media player 
05-09 20:12:15.405: D/MediaPlayer(15110): create failed: 
05-09 20:12:15.405: D/MediaPlayer(15110): java.io.IOException: setDataSourceFD failed.: status=0x80000000 
05-09 20:12:15.405: D/MediaPlayer(15110): at android.media.MediaPlayer.setDataSource(Native Method) 
05-09 20:12:15.405: D/MediaPlayer(15110): at android.media.MediaPlayer.create(MediaPlayer.java:741) 
05-09 20:12:15.405: D/MediaPlayer(15110): at com.example.goran.SoundBites.NudgeButtonListener(SoundBites.java:30) 
05-09 20:12:15.405: D/MediaPlayer(15110): at java.lang.reflect.Method.invokeNative(Native Method) 
05-09 20:12:15.405: D/MediaPlayer(15110): at java.lang.reflect.Method.invoke(Method.java:511) 
05-09 20:12:15.405: D/MediaPlayer(15110): at android.view.View$1.onClick(View.java:3064) 
05-09 20:12:15.405: D/MediaPlayer(15110): at android.view.View.performClick(View.java:3591) 
05-09 20:12:15.405: D/MediaPlayer(15110): at android.view.View$PerformClick.run(View.java:14263) 
05-09 20:12:15.405: D/MediaPlayer(15110): at android.os.Handler.handleCallback(Handler.java:605) 
05-09 20:12:15.405: D/MediaPlayer(15110): at android.os.Handler.dispatchMessage(Handler.java:92) 
05-09 20:12:15.405: D/MediaPlayer(15110): at android.os.Looper.loop(Looper.java:137) 
05-09 20:12:15.405: D/MediaPlayer(15110): at android.app.ActivityThread.main(ActivityThread.java:4507) 
05-09 20:12:15.405: D/MediaPlayer(15110): at java.lang.reflect.Method.invokeNative(Native Method) 
05-09 20:12:15.405: D/MediaPlayer(15110): at java.lang.reflect.Method.invoke(Method.java:511) 
05-09 20:12:15.405: D/MediaPlayer(15110): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790) 
05-09 20:12:15.405: D/MediaPlayer(15110): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557) 
05-09 20:12:15.405: D/MediaPlayer(15110): at dalvik.system.NativeStart.main(Native Method) 
05-09 20:12:15.405: D/AndroidRuntime(15110): Shutting down VM 
05-09 20:12:15.405: W/dalvikvm(15110): threadid=1: thread exiting with uncaught exception (group=0x40c3e1f8) 
05-09 20:12:15.420: E/AndroidRuntime(15110): FATAL EXCEPTION: main 
05-09 20:12:15.420: E/AndroidRuntime(15110): java.lang.IllegalStateException: Could not execute method of the activity 
05-09 20:12:15.420: E/AndroidRuntime(15110): at android.view.View$1.onClick(View.java:3069) 
05-09 20:12:15.420: E/AndroidRuntime(15110): at android.view.View.performClick(View.java:3591) 
05-09 20:12:15.420: E/AndroidRuntime(15110): at android.view.View$PerformClick.run(View.java:14263) 
05-09 20:12:15.420: E/AndroidRuntime(15110): at android.os.Handler.handleCallback(Handler.java:605) 
05-09 20:12:15.420: E/AndroidRuntime(15110): at android.os.Handler.dispatchMessage(Handler.java:92) 
05-09 20:12:15.420: E/AndroidRuntime(15110): at android.os.Looper.loop(Looper.java:137) 
05-09 20:12:15.420: E/AndroidRuntime(15110): at android.app.ActivityThread.main(ActivityThread.java:4507) 
05-09 20:12:15.420: E/AndroidRuntime(15110): at java.lang.reflect.Method.invokeNative(Native Method) 
05-09 20:12:15.420: E/AndroidRuntime(15110): at java.lang.reflect.Method.invoke(Method.java:511) 
05-09 20:12:15.420: E/AndroidRuntime(15110): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790) 
05-09 20:12:15.420: E/AndroidRuntime(15110): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557) 
05-09 20:12:15.420: E/AndroidRuntime(15110): at dalvik.system.NativeStart.main(Native Method) 
05-09 20:12:15.420: E/AndroidRuntime(15110): Caused by: java.lang.reflect.InvocationTargetException 
05-09 20:12:15.420: E/AndroidRuntime(15110): at java.lang.reflect.Method.invokeNative(Native Method) 
05-09 20:12:15.420: E/AndroidRuntime(15110): at java.lang.reflect.Method.invoke(Method.java:511) 
05-09 20:12:15.420: E/AndroidRuntime(15110): at android.view.View$1.onClick(View.java:3064) 
05-09 20:12:15.420: E/AndroidRuntime(15110): ... 11 more 
05-09 20:12:15.420: E/AndroidRuntime(15110): Caused by: java.lang.NullPointerException 
05-09 20:12:15.420: E/AndroidRuntime(15110): at com.example.goran.SoundBites.NudgeButtonListener(SoundBites.java:31) 
05-09 20:12:15.420: E/AndroidRuntime(15110): ... 14 more 

このバッドボーイグーグルしようとしましたが、これまで手ぶらで出ている、誰もがいずれかを持ってアイデア?私に惑わされるのは、VM上で動作しますが、私の電話では動作しないということです。

編集:2つの問題が見つかりました.1つはオーディオボリュームを制御する必要があり、もう1つは自分のWAVファイルが壊れていると思われ、少なくともmp3を出力しました。この質問によると

答えて

0

R.raw.anything cannot be resolved

は、Eclipseは、あなたがにあなたの完全なパッケージ名を使用する必要があります...あなたのpackage_name.Rファイルをインポートandroid.Rないし

それとも

を決めました参照元リソース。

+0

これは残念なことに、試していただきありがとうございました! – Corith

+0

Hmph、まあ、これらの2行のコードではヌルポインタを取得しています。 R.raw.nudge_nudgeをどのように定義しますか? (その他) – Sam

+0

メディアプレーヤーからのヌルポインタが作成されていませんか?定義については、生のフォルダにnudge_nudge.wavというファイルがあります。 – Corith

0

お試し修正プロジェクトプロパティ。その後、あなたのプロジェクトを掃除する! 再度生成されます。

+0

申し訳ありませんが動作していないようです。 – Corith

関連する問題