Я написал самое базовое приложение, которое я могу придумать, чтобы попытаться воспроизвести mp3 файл, но он не работает. Я не получаю никаких ошибок, но когда приложение запускается, звук не воспроизводится.
public class soundtest extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MediaPlayer mp = new MediaPlayer();
mp.create(getApplicationContext(), R.raw.norm_iphone_money);
mp.start();
}
}
Что мне не хватает? У меня есть "norm_iphone_money.mp3" внутри папки res/raw. Файл отлично воспроизводится в проигрывателе Windows Media и iTunes.
Я использую последние версии Java SDK и Eclipse для Java. Приложение предназначено для Android 2.2 и отлично работает в эмуляторе, несмотря на отсутствие звука.
Ответ 1
Проблема заключается в том, что для громкости носителя установлено значение 0 (а не громкость звонка). Вы можете установить его:
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 20, 0);
Ответ 2
Попробуйте заменить эти две строки:
MediaPlayer mp = new MediaPlayer();
mp.create(getApplicationContext(), R.raw.norm_iphone_money);
с этой одной строкой:
MediaPlayer mp = MediaPlayer.create(this, R.raw.norm_iphone_money);
И посмотрите, работает ли это.
Ответ 3
Статический метод create (Context, int) из типа MediaPlayer должен быть доступен статическим способом. Попробуйте следующее:
MediaPlayer.create(getApplicationContext(), R.raw.norm_iphone_money).start();
Он также будет воспроизводить .mp3 с этой строкой
mp.create(getApplicationContext(), R.raw.norm_iphone_money).start();
Ответ 4
Я бы предложил следующее:
MediaPlayer mp = new MediaPlayer();
//bla bla bla
mp = MediaPlayer.create(getApplicationContext(), R.raw.norm_iphone_money);
Ответ 5
Была та же проблема
после того, как я нажал, чтобы запустить Media Player, экран потемнел, и приложение остановилось.
Я просто изменил
MediaPlayer mp = MediaPLayer.create(это, R.raw.sound); mp.start();
к
MediaPlayer mp = MediaPLayer.create(это, R.raw.sound).start();
Я не совсем уверен, в чем разница, но она решила мою проблему.