android.media.MediaPlayer#setSurface ( )源码实例Demo

下面列出了android.media.MediaPlayer#setSurface ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: WeiXinRecordedDemo   文件: MainActivity.java
private void playVideo(String videoPath){

        try {
            mMediaPlayer = new MediaPlayer();
            mMediaPlayer.setDataSource(videoPath);
            mMediaPlayer.setSurface(new Surface(textureView.getSurfaceTexture()));
            mMediaPlayer.setLooping(true);
            mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mp) {
                    mp.start();

                    float ratio = mp.getVideoWidth()*1f/mp.getVideoHeight();
                    int width = textureView.getWidth();
                    ViewGroup.LayoutParams layoutParams = textureView.getLayoutParams();
                    layoutParams.height = (int) (width/ratio);
                    textureView.setLayoutParams(layoutParams);
                }
            });
            mMediaPlayer.prepareAsync();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
 
源代码2 项目: WeiXinRecordedDemo   文件: EditVideoActivity.java
private void initMediaPlay(SurfaceTexture surface){

        try {
            mMediaPlayer = new MediaPlayer();
            mMediaPlayer.setDataSource(path);
            mMediaPlayer.setSurface(new Surface(surface));
            mMediaPlayer.setLooping(true);
            mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mp) {
                    mMediaPlayer.start();
                }
            });
            mMediaPlayer.prepareAsync();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
 
源代码3 项目: WeiXinRecordedDemo   文件: CutTimeActivity.java
private void initMediaPlay(SurfaceTexture surface){

        try {
            mMediaPlayer = new MediaPlayer();
            mMediaPlayer.setDataSource(path);
            mMediaPlayer.setSurface(new Surface(surface));
            mMediaPlayer.setLooping(true);
            mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mp) {
                    mMediaPlayer.start();
                }
            });
            mMediaPlayer.prepareAsync();
        }catch (Exception e){
            e.printStackTrace();
        }

        initVideoSize();
        initThumbs();
    }
 
源代码4 项目: WeiXinRecordedDemo   文件: CutSizeActivity.java
private void initMediaPlay(SurfaceTexture surface){

        try {
            mMediaPlayer = new MediaPlayer();
            mMediaPlayer.setDataSource(path);
            mMediaPlayer.setSurface(new Surface(surface));
            mMediaPlayer.setLooping(true);
            mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mp) {
                    mMediaPlayer.start();
                }
            });
            mMediaPlayer.prepareAsync();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
 
源代码5 项目: LefishGuide   文件: GuideFragment.java
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int width, int height) {
    Surface surface = new Surface(surfaceTexture);
    try {
        int id = getArguments().getInt("Id");
        /**
         * mMediaPlayer = MediaPlayer.create(getContext(), R.raw.guide_one);
         * 创建实例是不行的,我也没有明白为什么
         */
        mMediaPlayer = new MediaPlayer();
        Uri video = Uri.parse("android.resource://" + getContext().getPackageName() + "/" + RES.get(id));
        mMediaPlayer.setDataSource(getContext(), video);

        mMediaPlayer.setSurface(surface);
        mMediaPlayer.prepare();
        mMediaPlayer.setLooping(false);
        mMediaPlayer.setOnBufferingUpdateListener(this);
        mMediaPlayer.setOnCompletionListener(this);
        mMediaPlayer.setOnPreparedListener(this);
        mMediaPlayer.setOnVideoSizeChangedListener(this);
        mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
        mMediaPlayer.start();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
 
源代码6 项目: LiveWallPaper   文件: CameraLiveWallpaper.java
/**
         * 播放
         */
        private void play(SurfaceHolder surfaceHolder,String videoPath){
            mediaPlayer = new MediaPlayer();
            // 设置多媒体流类型
            mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

            // 设置用于展示mediaPlayer的容器
            mediaPlayer.setSurface(surfaceHolder.getSurface());
//            mediaPlayer.setDisplay(surfaceHolder);//用这个方法会报 Wallpapers do not support keep screen on
            try {
                mediaPlayer.setDataSource(videoPath);
                mediaPlayer.prepare();
                mediaPlayer.start();
                mediaPlayer.setLooping(true);
            } catch (Exception e) {
                Log.i("通知", "播放过程中出现了错误哦");
            }
        }
 
源代码7 项目: shortrain   文件: TutorialFragment.java
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
    Surface s = new Surface(surface);

    int movieId = getArguments().getInt(MOVIE_RES_ID);
    try {
        mediaPlayer = new MediaPlayer();
        String path = "android.resource://" + getContext().getPackageName() + "/" + movieId;
        mediaPlayer.setDataSource(getContext(), Uri.parse(path));
        mediaPlayer.setSurface(s);
        mediaPlayer.prepare();
        mediaPlayer.setLooping(true);
        if (isVisible()) {
            videoIsVisibleToUser();
        }
    } catch (Exception ignore) {
        // This is an experiment...
    }
}
 
源代码8 项目: LLApp   文件: VideoLiveWallpaper.java
@Override
public void onSurfaceCreated(SurfaceHolder holder) {
    LogUtils.d(TAG,"VideoEngine#onSurfaceCreated ");
    super.onSurfaceCreated(holder);
    mMediaPlayer = new MediaPlayer();
    mMediaPlayer.setSurface(holder.getSurface());
    try {
        AssetManager assetMg = getApplicationContext().getAssets();
        AssetFileDescriptor fileDescriptor = assetMg.openFd("test1.mp4");
        mMediaPlayer.setDataSource(fileDescriptor.getFileDescriptor(),
                fileDescriptor.getStartOffset(), fileDescriptor.getLength());
        mMediaPlayer.setLooping(true);
        mMediaPlayer.setVolume(0, 0);
        mMediaPlayer.prepare();
        mMediaPlayer.start();

    } catch (IOException e) {
        e.printStackTrace();
    }

}
 
源代码9 项目: aurora-imui   文件: ChatInputView.java
private void playVideo() {
    try {
        mCameraSupport.release();
        mMediaPlayer = new MediaPlayer();
        mMediaPlayer.setDataSource(mVideoFilePath);
        Surface surface = new Surface(mTextureView.getSurfaceTexture());
        mMediaPlayer.setSurface(surface);
        surface.release();
        mMediaPlayer.setLooping(true);
        mMediaPlayer.prepareAsync();
        mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mediaPlayer) {
                mediaPlayer.start();
            }
        });
    } catch (Exception e) {
        e.printStackTrace();
    }
}
 
源代码10 项目: media-samples   文件: MovieView.java
void openVideo(Surface surface) {
    if (mVideoResourceId == 0) {
        return;
    }
    mMediaPlayer = new MediaPlayer();
    mMediaPlayer.setSurface(surface);
    startVideo();
}
 
源代码11 项目: justaline-android   文件: PlaybackView.java
private void prepareMediaPlayer(Uri uri) {
    Log.d(TAG, "prepareMediaPlayer: " + uri);
    try {
        mMediaPlayer = new MediaPlayer();
        mMediaPlayer.setOnPreparedListener(this);
        mMediaPlayer.setDataSource(getContext(), uri);
        mMediaPlayer.setSurface(mSurface);
        mMediaPlayer.setAudioAttributes(mAudioAttributes);
        mMediaPlayer.setLooping(true);
        mMediaPlayer.prepare();
    } catch (IOException | IllegalStateException e) {
        Log.e(TAG, "prepareMediaPlayer: ", e);
    }
}
 
源代码12 项目: GLEXP-Team-onebillion   文件: OBVideoPlayer.java
public void startPlayingAtTime(AssetFileDescriptor afd, long fr, MediaPlayer.OnPreparedListener preparedListener, MediaPlayer.OnCompletionListener completionListener)
{
    if(afd == null || activityPaused )
        return;

    condition = playerLock.newCondition();
    fromTime = fr;

    player = new MediaPlayer();
    player.setSurface(surface);
    //surface.release();
    player.setOnPreparedListener(preparedListener);
    player.setOnCompletionListener(completionListener);
    player.setOnSeekCompleteListener(this);
    player.setOnErrorListener(this);
    player.setOnVideoSizeChangedListener(this);
    try
    {
        player.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
        player.prepareAsync();

    }
    catch (Exception e)
    {
        e.printStackTrace();
        return;
    }
}
 
源代码13 项目: GLEXP-Team-onebillion   文件: OBVideoPlayer.java
public void prepareForPlaying(AssetFileDescriptor afd, long atTime, OBUtils.RunLambda seekCompletion)
{
    if(afd == null || activityPaused )
        return;

    playAfterPrepare = false;
    condition = playerLock.newCondition();
    fromTime = atTime;

    if(seekCompletion != null)
        this.seekCompletionBlock = seekCompletion;

    player = new MediaPlayer();
    player.setSurface(surface);
    //surface.release();
    player.setOnPreparedListener(this);
    player.setOnCompletionListener(this);
    player.setOnSeekCompleteListener(this);
    player.setOnErrorListener(this);
    player.setOnVideoSizeChangedListener(this);

    try
    {
        player.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
        player.prepareAsync();

    }
    catch (Exception e)
    {
        e.printStackTrace();
        return;
    }
}
 
源代码14 项目: android-PictureInPicture   文件: MovieView.java
void openVideo(Surface surface) {
    if (mVideoResourceId == 0) {
        return;
    }
    mMediaPlayer = new MediaPlayer();
    mMediaPlayer.setSurface(surface);
    startVideo();
}
 
源代码15 项目: Spectaculum   文件: VideoView.java
private void openVideo() {
    if (mUri == null || mInputSurfaceHolder == null) {
        // not ready for playback yet, will be called again later
        return;
    }

    release();

    try {
        mPlayer = new MediaPlayer();
        mPlayer.setSurface(getInputHolder().getSurface());
        mPlayer.setOnPreparedListener(mPreparedListener);
        mPlayer.setOnVideoSizeChangedListener(mSizeChangedListener);
        mPlayer.setOnSeekCompleteListener(mSeekCompleteListener);
        mPlayer.setOnCompletionListener(mCompletionListener);
        mPlayer.setOnErrorListener(mErrorListener);
        mPlayer.setOnInfoListener(mInfoListener);
        mPlayer.setOnBufferingUpdateListener(mBufferingUpdateListener);
        mCurrentBufferPercentage = 0;
        mPlayer.setDataSource(getContext(), mUri, mHeaders);
        mCurrentState = STATE_PREPARING;
        mPlayer.prepareAsync();
    } catch (Exception e) {
        Log.e(TAG, "video open failed", e);
        mCurrentState = STATE_ERROR;
        mTargetState = STATE_ERROR;
        mErrorListener.onError(mPlayer, MediaPlayer.MEDIA_ERROR_UNKNOWN, 0);
    }
}
 
源代码16 项目: media-samples   文件: LocalPlayer.java
public static final void setSurface(MediaPlayer player, Surface surface) {
    player.setSurface(surface);
}
 
源代码17 项目: iGap-Android   文件: FragmentShowImage.java
private void setMediaPlayer(MediaPlayer mMediaPlayer, final TextureView mTextureView, final ImageView imgPlay, final TouchImageView touchImageView) {

            if (mTextureView == null) {
                return;
            }
            Surface surfaceTexture = new Surface(mTextureView.getSurfaceTexture());

            if (surfaceTexture == null) {
                return;
            }

            try {
                if (mMediaPlayer != null) {
                    mMediaPlayer.setSurface(surfaceTexture);
                    mMediaPlayer.setLooping(false);
                    mMediaPlayer.prepareAsync();
                }
            } catch (IllegalStateException e) {
                e.getMessage();
            }


            mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mp) {

                    getRealSize(mp, mTextureView);
                    imgPlay.setVisibility(View.GONE);
                    mp.start();
                    MusicPlayer.pauseSound();
                    mTextureView.setVisibility(View.VISIBLE);
                    touchImageView.animate().setDuration(700).alpha(0F).start();

                    G.handler.postDelayed(new Runnable() {
                        @Override
                        public void run() {
                            touchImageView.setVisibility(View.GONE);
                            touchImageView.clearAnimation();
                        }
                    }, 700);

                    videoController.setEnabled(true);
                    videoController.show();
                }
            });

        }
 
源代码18 项目: V.FlyoutTest   文件: LocalPlayer.java
public static final void setSurface(MediaPlayer player, Surface surface) {
    player.setSurface(surface);
}
 
@Override
public void prepareMediaRender(MediaPlayer mediaPlayer) {
    mediaPlayer.setSurface(new Surface(mTextureView.getSurfaceTexture()));
}
 
@Override
public void mediaRenderChanged(MediaPlayer mediaPlayer) {
    mediaPlayer.setSurface(new Surface(mTextureView.getSurfaceTexture()));
}