音乐文件播放 45 秒,然后在 android 应用程序中停止
Music file plays for 45 seconds and then stops in android app
我正在尝试使用 android 工作室和 Java 为我的 android phone 制作游戏。当我将音乐文件放入应用程序时,它会播放,但只播放了 45 秒就停止了。我已经在其他几个音乐文件上测试过它,看看它是否是音乐文件,但我仍然遇到同样的错误。我的目标是让音乐像游戏一样循环播放。我尝试了各种 youtube 视频并查看了其他网站,但我仍然会遇到同样的问题或无法编译代码。
package com.example.androidstudio2dgamedevelopment;
import static android.media.MediaPlayer.*;
import android.animation.Animator;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.media.MediaPlayer;
import android.view.WindowManager;
import java.util.Vector;
/**
* Main Activity is the entry point to our application
*/
public class MainActivity extends Activity {
private int width;
private int height;
MediaPlayer bkgrdmsc;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MediaPlayer mediaPlayer = create(this, R.raw.fg);
mediaPlayer.setLooping(true);
mediaPlayer.start();
//Set Window to fullscreen (will hide status bar)
Window window = getWindow();
this.width = (240);
this.height = (240);
//Set Content view to game, so that objects in the Game Class can be rendered to the screen
setContentView(new Game(this));
}
}
只需为媒体播放器添加 setLooping(true)。
Uri uri = createUri(context, R.raw.fg);
Mediaplayer mediaPlayer= new MediaPlayer();
mediaPlayer.setDataSource(context, uri);
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.prepare();
mediaPlayer.setLooping(true);
mediaPlayer.start();
我知道那是什么了。这是我使用的代码,它对我有用。在我问问题之前,我往往无法找到问题的答案。
package com.example.androidstudio2dgamedevelopment;
import android.app.Activity;
import android.content.Context;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.Window;
/**
* Main Activity is the entry point to our application
*/
public class MainActivity extends Activity {
private int width;
private int height;
MediaPlayer mysong;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mysong = MediaPlayer.create(MainActivity.this, R.raw.bc);
mysong.start();
mysong.setLooping(true);
//Set Window to fullscreen (will hide status bar)
Window window = getWindow();
this.width = (240);
this.height = (240);
//Set Content view to game, so that objects in the Game Class can be rendered to the screen
setContentView(new Game(this));
}
@Override
protected void onPause() {
super.onPause();
mysong.release();
finish();
}
}
这是我认为我做错的地方。
我使用 MediaPlayer
作为变量而不是 mysong
这似乎对我有用。我也忘记在我发布的代码中的 this
之前添加 MainActivity
。
mysong = MediaPlayer.create(MainActivity.this, R.raw.bc);
mysong.start();
mysong.setLooping(true);
最后我也加了这个
@Override
protected void onPause() {
super.onPause();
mysong.release();
finish();
}
我正在尝试使用 android 工作室和 Java 为我的 android phone 制作游戏。当我将音乐文件放入应用程序时,它会播放,但只播放了 45 秒就停止了。我已经在其他几个音乐文件上测试过它,看看它是否是音乐文件,但我仍然遇到同样的错误。我的目标是让音乐像游戏一样循环播放。我尝试了各种 youtube 视频并查看了其他网站,但我仍然会遇到同样的问题或无法编译代码。
package com.example.androidstudio2dgamedevelopment;
import static android.media.MediaPlayer.*;
import android.animation.Animator;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.media.MediaPlayer;
import android.view.WindowManager;
import java.util.Vector;
/**
* Main Activity is the entry point to our application
*/
public class MainActivity extends Activity {
private int width;
private int height;
MediaPlayer bkgrdmsc;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MediaPlayer mediaPlayer = create(this, R.raw.fg);
mediaPlayer.setLooping(true);
mediaPlayer.start();
//Set Window to fullscreen (will hide status bar)
Window window = getWindow();
this.width = (240);
this.height = (240);
//Set Content view to game, so that objects in the Game Class can be rendered to the screen
setContentView(new Game(this));
}
}
只需为媒体播放器添加 setLooping(true)。
Uri uri = createUri(context, R.raw.fg);
Mediaplayer mediaPlayer= new MediaPlayer();
mediaPlayer.setDataSource(context, uri);
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.prepare();
mediaPlayer.setLooping(true);
mediaPlayer.start();
我知道那是什么了。这是我使用的代码,它对我有用。在我问问题之前,我往往无法找到问题的答案。
package com.example.androidstudio2dgamedevelopment;
import android.app.Activity;
import android.content.Context;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.Window;
/**
* Main Activity is the entry point to our application
*/
public class MainActivity extends Activity {
private int width;
private int height;
MediaPlayer mysong;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mysong = MediaPlayer.create(MainActivity.this, R.raw.bc);
mysong.start();
mysong.setLooping(true);
//Set Window to fullscreen (will hide status bar)
Window window = getWindow();
this.width = (240);
this.height = (240);
//Set Content view to game, so that objects in the Game Class can be rendered to the screen
setContentView(new Game(this));
}
@Override
protected void onPause() {
super.onPause();
mysong.release();
finish();
}
}
这是我认为我做错的地方。
我使用 MediaPlayer
作为变量而不是 mysong
这似乎对我有用。我也忘记在我发布的代码中的 this
之前添加 MainActivity
。
mysong = MediaPlayer.create(MainActivity.this, R.raw.bc);
mysong.start();
mysong.setLooping(true);
最后我也加了这个
@Override
protected void onPause() {
super.onPause();
mysong.release();
finish();
}