原始无法解决或不是一个领域

 asgvbsd 发布于 2023-02-09 18:22

我正在我的应用程序中构建一个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并重建您的应用程序.

1 个回答
  • 我不确定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并重建您的应用程序.

    2023-02-09 18:25 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有