Android 声音在创建时不播放
嗨,我是这方面的新手,最近才开始 我有一个关于在create上播放声音的问题 我把我的数据放在res/raw/上,名字是laugh,它是mp3 下面是我的代码Android 声音在创建时不播放,android,Android,嗨,我是这方面的新手,最近才开始 我有一个关于在create上播放声音的问题 我把我的数据放在res/raw/上,名字是laugh,它是mp3 下面是我的代码 package com.arnchr.sounddemo; import android.media.MediaPlayer; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class MainActivity ext
package com.arnchr.sounddemo;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MediaPlayer mplayer = MediaPlayer.create(this, R.raw.laugh);
mplayer.start();
}
我尝试在android studio中播放它,但我一直收到此错误消息
10-06 18:52:41.677 12916-12978/system_process E/AudioTrack: Could not get audio output for stream type 1, usage 0, sample rate 48000, format 0x1, channel mask 0x3, flags 0x4
--------- beginning of system
10-06 18:52:41.685 12916-12978/system_process E/SoundPool: Error creating AudioTrack
10-06 18:52:41.791 20549-20549/com.arnchr.sounddemo E/MediaPlayer: Should have subtitle controller already set
10-06 18:52:41.808 20549-20549/com.arnchr.sounddemo E/MediaPlayer: Should have subtitle controller already set
10-06 18:52:41.833 12635-20775/? E/NuPlayerDecoder: Failed to open AudioSink on format change for OMX.google.mp3.decoder (err=-19)
10-06 18:52:41.834 12635-20772/? E/NuPlayer: received error(0xffffffed) from audio decoder, flushing(0), now shutting down
10-06 18:52:41.835 20549-20564/com.arnchr.sounddemo E/MediaPlayer: error (1, -19)
10-06 18:52:42.135 20549-20549/com.arnchr.sounddemo E/MediaPlayer: Error (1,-19)
10-06 18:56:57.220 20806-20806/? E/memtrack: Couldn't load memtrack module (No such file or directory)
10-06 18:56:57.220 20806-20806/? E/android.os.Debug: failed to load memtrack module: -2
10-06 18:57:02.308 20824-20824/? E/memtrack: Couldn't load memtrack module (No such file or directory)
10-06 18:57:02.308 20824-20824/? E/android.os.Debug: failed to load memtrack module: -2
我不明白这个错误信息 您可以尝试以下操作:
10-06 18:52:41.677 12916-12978/system_process E/AudioTrack: Could not get audio output for stream type 1, usage 0, sample rate 48000, format 0x1, channel mask 0x3, flags 0x4
--------- beginning of system
10-06 18:52:41.685 12916-12978/system_process E/SoundPool: Error creating AudioTrack
10-06 18:52:41.791 20549-20549/com.arnchr.sounddemo E/MediaPlayer: Should have subtitle controller already set
10-06 18:52:41.808 20549-20549/com.arnchr.sounddemo E/MediaPlayer: Should have subtitle controller already set
10-06 18:52:41.833 12635-20775/? E/NuPlayerDecoder: Failed to open AudioSink on format change for OMX.google.mp3.decoder (err=-19)
10-06 18:52:41.834 12635-20772/? E/NuPlayer: received error(0xffffffed) from audio decoder, flushing(0), now shutting down
10-06 18:52:41.835 20549-20564/com.arnchr.sounddemo E/MediaPlayer: error (1, -19)
10-06 18:52:42.135 20549-20549/com.arnchr.sounddemo E/MediaPlayer: Error (1,-19)
10-06 18:56:57.220 20806-20806/? E/memtrack: Couldn't load memtrack module (No such file or directory)
10-06 18:56:57.220 20806-20806/? E/android.os.Debug: failed to load memtrack module: -2
10-06 18:57:02.308 20824-20824/? E/memtrack: Couldn't load memtrack module (No such file or directory)
10-06 18:57:02.308 20824-20824/? E/android.os.Debug: failed to load memtrack module: -2
package com.arnchr.sounddemo;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MediaPlayer player = new MediaPlayer();
player.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
String url = ""; // your URL here
player.setDataSource(url);
player.prepareAsync();
/*Generally prepareAsync is used when you load resources from the web, alternatively you can use prepare() if the resource is local*/
} catch (IOException e) {
Log.e(TAG, "error loading resources for player");
e.printStackTrace();
}
player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer player) {
player.start();
}
}
你也可以这样做:
package com.arnchr.sounddemo;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MediaPlayer player = MediaPlayer.create(this, R.raw.laugh);
player.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
player.prepare();
} catch (IOException e) {
Log.e(TAG, "error loading resources for player");
e.printStackTrace();
}
player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer player) {
player.start();
}
}
谢谢你的帮助。我不知道怎么听,但我现在能听到声音了。我只是尝试添加新设备,现在它可以工作了。