我正在我的应用程序中构建一个MP3播放器,我收到一条错误,说明"原始无法解析或不是字段":mMediaPlayer = MediaPlayer.create(this,R.raw.test_cbr);
我不确定R.raw.test_cbr究竟是什么(我没有写这段代码)有人可以解释R.raw.test_cbr是什么以及如何解决这个问题?
JAVA:
import android.app.Activity; import android.media.MediaPlayer; import android.os.Bundle; import android.util.Log; import android.widget.TextView; import android.widget.Toast; import com.idg.omv.R; public class MediaPlayerDemo extends Activity { private static final String TAG = "MediaPlayerDemo"; private MediaPlayer mMediaPlayer; private static final String MEDIA = "media"; private static final int LOCAL_AUDIO = 1; private static final int STREAM_AUDIO = 2; private static final int RESOURCES_AUDIO = 3; private static final int LOCAL_VIDEO = 4; private static final int STREAM_VIDEO = 5; private String path; private TextView tx; public void onCreate(Bundle icicle) { super.onCreate(icicle); tx = new TextView(this); setContentView(tx); Bundle extras = getIntent().getExtras(); playAudio(extras.getInt(MEDIA)); } private void playAudio(Integer media) { try { switch (media) { case LOCAL_AUDIO: /** * TODO: Set the path variable to a local audio file path. */ path = ""; if (path == "") { // Tell the user to provide an audio file URL. Toast .makeText( MediaPlayerDemo.this, "Please edit MediaPlayer_Audio Activity, " + "and set the path variable to your audio file path." + " Your audio file must be stored on sdcard.", Toast.LENGTH_LONG).show(); } mMediaPlayer = new MediaPlayer(); mMediaPlayer.setDataSource(path); mMediaPlayer.prepare(); mMediaPlayer.start(); break; case RESOURCES_AUDIO: /** * TODO: Upload a audio file to res/raw folder and provide * its resid in MediaPlayer.create() method. */ mMediaPlayer = MediaPlayer.create(this, R.raw.test_cbr); mMediaPlayer.start(); } tx.setText("Playing audio..."); } catch (Exception e) { Log.e(TAG, "error: " + e.getMessage(), e); } } @Override protected void onDestroy() { super.onDestroy(); // TODO Auto-generated method stub if (mMediaPlayer != null) { mMediaPlayer.release(); mMediaPlayer = null; } } }
laalto.. 7
我不确定R.raw.test_cbr究竟是什么(我没有写这段代码)有人可以解释R.raw.test_cbr是什么以及如何解决这个问题?
R.raw
是指放入的"原始"资源res/raw
."Raw"表示资源文件按原样包含在应用程序包中,无需任何编译时修改.
(至少在理论上.我遇到了工具链修改原始资源的问题,但这超出了这个问题的范围.)
您收到此编译时错误,因为您没有该res/raw
文件夹,并且R.raw
未生成嵌套类R.java
.
R.raw.test_cbr
指的是文件夹test_cbr.ext
中的res/raw
文件,其中ext
只是一些文件扩展名.
由于您正在喂食MediaPlayer
,您应该放置一些音频媒体文件,test_cbr
例如text_cbr.mp3
,res/raw
并重建您的应用程序.
我不确定R.raw.test_cbr究竟是什么(我没有写这段代码)有人可以解释R.raw.test_cbr是什么以及如何解决这个问题?
R.raw
是指放入的"原始"资源res/raw
."Raw"表示资源文件按原样包含在应用程序包中,无需任何编译时修改.
(至少在理论上.我遇到了工具链修改原始资源的问题,但这超出了这个问题的范围.)
您收到此编译时错误,因为您没有该res/raw
文件夹,并且R.raw
未生成嵌套类R.java
.
R.raw.test_cbr
指的是文件夹test_cbr.ext
中的res/raw
文件,其中ext
只是一些文件扩展名.
由于您正在喂食MediaPlayer
,您应该放置一些音频媒体文件,test_cbr
例如text_cbr.mp3
,res/raw
并重建您的应用程序.