![](/img/trans.png)
[英]Playing Multiple mp3 files using android media player , at the same time . it jumps to the last mp3 on the list
[英]Playing MP3 files on an Android App?
我嘗試了許多不同的方法,但是似乎沒有一個起作用。 此方法沒有錯誤,但不執行任何操作。 我將所有聲音放在主項目下的子目錄中。 我嘗試過的大多數代碼都是使用MediaPlayer和SoundPooling之類的不同方法。 他們都沒有為我工作,所以我嘗試了這個。 如果有人可以為我更正此問題或讓我上教程,那將很棒。
package me.javoris767.twds2soundboard;
import java.io.IOException;
import me.javoris767.twds2soundboard.R;
import android.view.View;
import android.app.Activity;
import android.content.res.AssetFileDescriptor;
import android.media.MediaPlayer;
import android.os.Bundle;
public class ClementinePage extends Activity {
MediaPlayer mp=new MediaPlayer();
public boolean isPlaying;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_clementine_page);
}
public void playSound(String file) {
AssetFileDescriptor afd = null;
try {
afd = getAssets().openFd(file);
MediaPlayer player = new MediaPlayer();
player.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(),
afd.getLength());
player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
public void onPrepared(MediaPlayer p1) {
p1.start();
isPlaying = true;
}
});
}catch (IOException e) {
e.printStackTrace();
}
}
public void onNoClick(View v) {
playSound("sounds/ohno.mp3");
}
}
做這樣的事情
//initialising the two new buttons
final Button btSong1 = (Button)findViewById(R.id.btnPlaySong1);
final Button btSong2 = (Button)findViewById(R.id.btnPlaySong2);
//initialising the two new media player instances
song1 = new MediaPlayer();
song1 = MediaPlayer.create(this, R.raw.song3);
song2 = new MediaPlayer();
song2 = MediaPlayer.create(this, R.raw.song4);
//The code for the two buttons go here
btSong1.setOnClickListener(new OnClickListener(){
public void onClick(View v){
//This is where your code will go
switch(stateOfPlaying){
case 0:
song1.start();
stateOfPlaying = 1;
btSong1.setText("Pause Song 1");
btSong2.setVisibility(View.INVISIBLE);
break;
case 1:
song1.pause();
stateOfPlaying = 0;
btSong1.setText("Play Song 1");
btSong2.setVisibility(View.VISIBLE);
break;
}//switch
}//end of onClick
});//btSong1
btSong2.setOnClickListener(new OnClickListener(){
public void onClick(View v){
//This is where your code will go
switch(stateOfPlaying){
case 0:
song2.start();
stateOfPlaying = 1;
btSong2.setText("Pause Song 2");
btSong1.setVisibility(View.INVISIBLE);
break;
case 1:
song2.pause();
stateOfPlaying = 0;
btSong2.setText("Play Song 2");
btSong1.setVisibility(View.VISIBLE);
break;
}//switch
}//end of onClick
});//btSong2
我建議不要在Android中使用MP3文件,因為它似乎可以更好地處理OGG文件。 你能做這個嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.