sách gpt4 ai đã đi

Lỗi Android MediaPlayer (bắt đầu được gọi ở trạng thái 1; lỗi (-38, 0); lỗi (-38,0))

In lại 作者:行者123 更新时间:2023-11-30 02:55:50 33 4
mua khóa gpt4 Nike

我已经为 SoundManagement 创建了一个包,其中有一个扩展 MediaPlayer 的类。我希望全局控制这个变量。这是我的代码:

package soundmanagement;

import android.content.Context;

import android.media.MediaPlayer;

import java.io.IOException;

public class MusicManager extends MediaPlayer {

public static MediaPlayer mediaPlayer = new MediaPlayer();

public void MusicManager() {
}

public static MediaPlayer create(Context context, int musicID) {
if (mediaPlayer != null) {
mediaPlayer.release();
}
mediaPlayer.create(context, musicID);
thử {
mediaPlayer.prepare();
} bắt (IOException e) {
e.printStackTrace();
}
return mediaPlayer.create(context, musicID);
}

public void prepare() {
thử {
mediaPlayer.prepare();
super.prepare();
} bắt (IOException e) {
e.printStackTrace();
}
}

public void start() {
if (mediaPlayer != null) {
mediaPlayer.start();
}
super.start();
}

public void pause() {
mediaPlayer.pause();
super.pause();
}

public void stop() {
super.stop();
mediaPlayer.release();
}

public void release() {
mediaPlayer.release();
super.release();
}

public boolean isPlaying(boolean isPlaying) {
super.isPlaying();
return isPlaying;
}

public void setLooping(boolean setLoop) {
mediaPlayer.setLooping(setLoop);
super.setLooping(setLoop);
}
}

在我的 MainActivity.class 中,在 onCreate() 中,我所做的就是在 onCreate() 中编写这段代码:

MusicManager.mediaPlayer.create(MainActivity.this, R.raw.riseofcc);
MusicManager.mediaPlayer.start();

应用程序编译并运行良好,只是启动后没有音乐播放。

1 Câu trả lời

您对 MediaPlayer 采取了一种奇怪的方法,但让我印象深刻的是:

public static MediaPlayer create(Context context, int musicID) {
if (mediaPlayer != null) {
mediaPlayer.release();
}
mediaPlayer.create(context, musicID);
thử {
mediaPlayer.prepare();
} bắt (IOException e) {
e.printStackTrace();
}
return mediaPlayer.create(context, musicID);
}

你调用 mediaPlayer.create(),然后 .prepare(),然后再调用 create(...)?

此外,create 是一个静态方法,因此它应该被称为 MediaPlayer.create 并且您应该持有对它的引用。当您调用 prepare() 时,您是在尚未创建的 MediaPlayer 对象上调用 prepare()。

编辑:如果你想保留这个方法,相应地修改它:

public static MediaPlayer create(Context context, int musicID) {
if (mediaPlayer != null) {
mediaPlayer.release();
}
mediaPlayer = MediaPlayer.create(context, musicID);
thử {
mediaPlayer.prepare();
} bắt (IOException e) {
e.printStackTrace();
}
return mediaPlayer;
}

关于java - Android MediaPlayer 错误(在状态 1 中开始调用;错误 (-38, 0);错误 (-38,0)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23276786/

33 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com