Java 音频文件不能在android中播放

Java 音频文件不能在android中播放,java,android,Java,Android,我有一个android应用程序,有两个按钮“播放”按钮和一个“暂停”按钮。如果按下播放按钮,则应启动mp3文件。“暂停”按钮将暂停音乐。这是我的密码: public class MainActivity extends AppCompatActivity { private MediaPlayer mp ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstan

我有一个android应用程序,有两个按钮“播放”按钮和一个“暂停”按钮。如果按下播放按钮,则应启动mp3文件。“暂停”按钮将暂停音乐。这是我的密码:

public class MainActivity extends AppCompatActivity {

private MediaPlayer mp ;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final Button playBtn = (Button) findViewById(R.id.play_id);

    mp = MediaPlayer.create(this , R.raw.aroom);

    playBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mp.start();
        }
    });

    final Button pauseBtn = (Button) findViewById(R.id.pause_id);
    playBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mp.pause();
        }
    });
}
}
这是我的日志:

07-10 18:31:11.010 15628-15628/? I/art: Late-enabling -Xcheck:jni
07-10 18:31:11.154 15628-15643/com.example.amir.myapplication E/HAL: load: id=gralloc != hmi->id=gralloc
07-10 18:31:11.224 15628-15628/com.example.amir.myapplication W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --debuggable --instruction-set=arm --instruction-set-features=smp,div,atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a15 --instruction-set-features=default --dex-file=/data/app/com.example.amir.myapplication-2/split_lib_dependencies_apk.apk --oat-file=/data/dalvik-cache/arm/data@app@com.example.amir.myapplication-2@split_lib_dependencies_apk.apk@classes.dex) because non-0 exit status
07-10 18:31:11.485 15628-15628/com.example.amir.myapplication W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --debuggable --instruction-set=arm --instruction-set-features=smp,div,atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a15 --instruction-set-features=default --dex-file=/data/app/com.example.amir.myapplication-2/split_lib_slice_0_apk.apk --oat-file=/data/dalvik-cache/arm/data@app@com.example.amir.myapplication-2@split_lib_slice_0_apk.apk@classes.dex) because non-0 exit status
07-10 18:31:11.543 15628-15628/com.example.amir.myapplication W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --debuggable --instruction-set=arm --instruction-set-features=smp,div,atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a15 --instruction-set-features=default --dex-file=/data/app/com.example.amir.myapplication-2/split_lib_slice_1_apk.apk --oat-file=/data/dalvik-cache/arm/data@app@com.example.amir.myapplication-2@split_lib_slice_1_apk.apk@classes.dex) because non-0 exit status
07-10 18:31:11.596 15628-15628/com.example.amir.myapplication W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --debuggable --instruction-set=arm --instruction-set-features=smp,div,atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a15 --instruction-set-features=default --dex-file=/data/app/com.example.amir.myapplication-2/split_lib_slice_2_apk.apk --oat-file=/data/dalvik-cache/arm/data@app@com.example.amir.myapplication-2@split_lib_slice_2_apk.apk@classes.dex) because non-0 exit status
07-10 18:31:11.648 15628-15628/com.example.amir.myapplication W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --debuggable --instruction-set=arm --instruction-set-features=smp,div,atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a15 --instruction-set-features=default --dex-file=/data/app/com.example.amir.myapplication-2/split_lib_slice_3_apk.apk --oat-file=/data/dalvik-cache/arm/data@app@com.example.amir.myapplication-2@split_lib_slice_3_apk.apk@classes.dex) because non-0 exit status
07-10 18:31:11.701 15628-15628/com.example.amir.myapplication W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --debuggable --instruction-set=arm --instruction-set-features=smp,div,atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a15 --instruction-set-features=default --dex-file=/data/app/com.example.amir.myapplication-2/split_lib_slice_4_apk.apk --oat-file=/data/dalvik-cache/arm/data@app@com.example.amir.myapplication-2@split_lib_slice_4_apk.apk@classes.dex) because non-0 exit status
07-10 18:31:11.757 15628-15628/com.example.amir.myapplication W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --debuggable --instruction-set=arm --instruction-set-features=smp,div,atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a15 --instruction-set-features=default --dex-file=/data/app/com.example.amir.myapplication-2/split_lib_slice_5_apk.apk --oat-file=/data/dalvik-cache/arm/data@app@com.example.amir.myapplication-2@split_lib_slice_5_apk.apk@classes.dex) because non-0 exit status
07-10 18:31:11.810 15628-15628/com.example.amir.myapplication W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --debuggable --instruction-set=arm --instruction-set-features=smp,div,atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a15 --instruction-set-features=default --dex-file=/data/app/com.example.amir.myapplication-2/split_lib_slice_6_apk.apk --oat-file=/data/dalvik-cache/arm/data@app@com.example.amir.myapplication-2@split_lib_slice_6_apk.apk@classes.dex) because non-0 exit status
07-10 18:31:11.875 15628-15628/com.example.amir.myapplication W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --debuggable --instruction-set=arm --instruction-set-features=smp,div,atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a15 --instruction-set-features=default --dex-file=/data/app/com.example.amir.myapplication-2/split_lib_slice_7_apk.apk --oat-file=/data/dalvik-cache/arm/data@app@com.example.amir.myapplication-2@split_lib_slice_7_apk.apk@classes.dex) because non-0 exit status
07-10 18:31:11.948 15628-15628/com.example.amir.myapplication W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --debuggable --instruction-set=arm --instruction-set-features=smp,div,atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a15 --instruction-set-features=default --dex-file=/data/app/com.example.amir.myapplication-2/split_lib_slice_8_apk.apk --oat-file=/data/dalvik-cache/arm/data@app@com.example.amir.myapplication-2@split_lib_slice_8_apk.apk@classes.dex) because non-0 exit status
07-10 18:31:12.009 15628-15628/com.example.amir.myapplication W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --debuggable --instruction-set=arm --instruction-set-features=smp,div,atomic_ldrd_strd --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=cortex-a15 --instruction-set-features=default --dex-file=/data/app/com.example.amir.myapplication-2/split_lib_slice_9_apk.apk --oat-file=/data/dalvik-cache/arm/data@app@com.example.amir.myapplication-2@split_lib_slice_9_apk.apk@classes.dex) because non-0 exit status
07-10 18:31:12.015 15628-15628/com.example.amir.myapplication W/System: ClassLoader referenced unknown path: /data/app/com.example.amir.myapplication-2/lib/arm
07-10 18:31:12.033 15628-15628/com.example.amir.myapplication I/InstantRun: starting instant run server: is main process
07-10 18:31:12.173 15628-15628/com.example.amir.myapplication I/HwCust: Constructor found for class android.app.HwCustHwWallpaperManagerImpl
07-10 18:31:12.204 15628-15628/com.example.amir.myapplication W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
07-10 18:31:12.336 15628-15628/com.example.amir.myapplication I/HwCust: Constructor found for class android.widget.HwCustTextViewImpl
07-10 18:31:12.345 15628-15628/com.example.amir.myapplication I/HwCust: Constructor found for class android.widget.HwCustTextViewImpl
07-10 18:31:12.359 15628-15628/com.example.amir.myapplication I/MediaPlayer: setDataSource(40, 69464, 9958560)
07-10 18:31:12.405 15628-15628/com.example.amir.myapplication I/HwSecImmHelper: mSecurityInputMethodService is null
07-10 18:31:12.526 15628-15709/com.example.amir.myapplication E/HAL: load: id=gralloc != hmi->id=gralloc
07-10 18:31:12.527 15628-15709/com.example.amir.myapplication I/OpenGLRenderer: Initialized EGL, version 1.4
07-10 18:31:12.653 15628-15628/com.example.amir.myapplication W/art: Before Android 4.1, method int android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView
07-10 18:31:12.738 15628-15628/com.example.amir.myapplication I/HwSecImmHelper: mSecurityInputMethodService is null
有人能帮忙吗

编辑 我的设备上没有外部存储器。华为ascend mate 7,上面没有sd卡。我只是在/res/raw文件夹中有一个mp3文件,我想在按下按钮时播放它。我参加了一门udacity课程,这是测验之一。当我看到解决方案时,代码就是我提供的,但我不能播放声音。我的意思是,我已经在我的android studio上复制并粘贴了代码,但对我来说,它不起作用

解决方案:
在编辑代码之后,我找到了答案。我犯了一个愚蠢的错误。有两个用于暂停和播放的侦听器,但我将它们命名为相同的名称。第二个侦听器应该在暂停按钮上,而不是播放按钮pauseBtn.setOnClickListener

附近有文件吗?
您是否在清单上声明了任何权限?

如果您正在从卡(如SD卡)读取mp3文件,则很可能需要声明运行时权限。可以在此处找到有关运行时权限的所有信息:

还要确保您在清单中也有静态权限,如下所示:


我有一个文件名为room,但我不知道清单上的权限。清单上有什么需要更改的吗?@amir_70是的,在我对我的帖子进行编辑之前,你应该添加到你的AndroidManifest上。我添加了这段代码,但没有任何更改。@amir_70遵循本教程@Erald Haka我找到了答案,问题现在已编辑,答案正确。我的设备上没有外部存储器。华为ascend mate 7,上面没有sd卡。我只是在/res/raw文件夹中有一个mp3文件。A我想在按下按钮时播放它。我参加了一个udacity课程,这是其中一个测验,当我看到解决方案时,代码是我提供的,但我不能播放声音