VideoView - 播放时没有视频但声音

时间:2017-10-28 12:01:58

标签: android mobile-development

我在Android开发中的新手。试图创建一个有效的视频播放器,但会出错。单击播放按钮时,只有声音没有视频和黑屏。试过一些建议的解决方案 - 没什么用。这是代码:

import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.MediaController;
import android.widget.VideoView;

public class MainActivity extends AppCompatActivity {

        Button btn;
        VideoView videoView;
        MediaController mediaController;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            videoView = (VideoView) findViewById(R.id.vdView);
            btn = (Button) findViewById(R.id.startBtn);
            mediaController = new MediaController(this);
        }

        public void startVideo(View view) {
            String filePath = "android.resource://" + getPackageName()+ "/" + R.raw.cartoon;
            Uri uri = Uri.parse(filePath);
            videoView.setVideoURI(uri);
            mediaController.setAnchorView(videoView);

            videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                public void onPrepared(MediaPlayer mp) {
                    videoView.start();
                }
            });
        }
    }

控制台中的错误:

D/MediaPlayer: getMetadata
E/MediaPlayer: error (1, -38)
E/MediaPlayer: error (1, -38)
E/MediaPlayer: error (1, -38)
E/MediaPlayer: Error (1,-38)
D/VideoView: Error: 1,-38
E/MediaPlayer: Error (1,-38)
D/VideoView: Error: 1,-38
E/MediaPlayer: Error (1,-38)
D/VideoView: Error: 1,-38
D/EGL_emulation: eglMakeCurrent: 0x7f889b45a660: ver 2 0
D/EGL_emulation: eglMakeCurrent: 0x7f889b45a660: ver 2 0
D/EGL_emulation: eglMakeCurrent: 0x7f889b45a660: ver 2 0
D/EGL_emulation: eglMakeCurrent: 0x7f889b45a660: ver 2 0
I/Choreographer: Skipped 47 frames!  The application may be doing too much work on its main thread.

如何修复它?

0 个答案:

没有答案