Почему MediaPlayer не создает ошибку при создании экземпляра?
При создании экземпляра MediaPlayer LogCat показывает эту ошибку:
Медиаплеер QCMediaPlayer НЕ присутствует
Почему это так и нормально?
Пример:
package com.example.testapp;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
public class MainActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MediaPlayer mediaPlayer = new MediaPlayer();
}
}
Ответы
Ответ 1
Это означает, что ваша платформа не поддерживает QCMediaPlayer. QCMediaPlayer предоставляет расширенные API и интерфейсы для получения и установки атрибутов MPD для протокола DASH в совместимых сборках Snapdragon. Таким образом, эта ошибка не должна влиять на воспроизведение медиа в нормальном случае
Проверьте эти источники, чтобы узнать подробности:
QCMediaPlayer.java
Ответ 2
Я знаю, что это не ответ для "Почему" это происходит, но если кто-то хочет заставить его работать (по крайней мере, для меня это сработало), вы можете инициализировать MediaPlayer
не путем создания нового экземпляра и настройки источника данных, но создав его с помощью метода static
create
:
MediaPlayer player = MediaPlayer.create(this, Uri.parse(sound_file_path));
или
MediaPlayer player = MediaPlayer.create(this, soundRedId, loop);
Ответ 3
добавление mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
решена проблема для меня. Первоначально я пытался с другими типами, но это не сработало.
Ответ 4
Необычно, что, по-видимому, для меня это заставило перезапустить Android Studio. Затем я работал в режиме отладки, и он начал работать и с тех пор не видел ошибки. Weird!
Ответ 5
Я добавил этот код:
MediaPlayer mediaPlayer = MediaPlayer.create(MainActivity.this,R.raw.menumusic);
mediaPlayer.start();
И он не работал, что, по-видимому, исправить это для меня, - это перезагрузка Android Studio.
Надеюсь, это поможет кому-то.