使用MediaPlayer播放视频

使用MediaPlayer播放视频

by 伍雪颖

- (IBAction)userPlayerController:(id)sender {
    if (_moviePlayer == nil) {
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackFinished4MoviePlayerController:) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];

        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(doneButtonClick:) name:MPMoviePlayerWillExitFullscreenNotification object:nil];

        _moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:[self movieURL]];

        _moviePlayer.scalingMode = MPMovieScalingModeAspectFill;
        _moviePlayer.controlStyle = MPMovieControlStyleFullscreen;

        [self.view addSubview:_moviePlayer.view];
    }
    [_moviePlayer play];
    [_moviePlayer setFullscreen:YES animated:YES];
}

- (void)playbackFinished4MoviePlayerController:(NSNotification *)notification {
    [[NSNotificationCenter defaultCenter] removeObserver:self];
    [_moviePlayer stop];
    [_moviePlayer.view removeFromSuperview];
    _moviePlayer = nil;
}

- (void)doneButtonClick:(NSNotification *)aNotification {
    if (_moviePlayer.playbackState == MPMoviePlaybackStateStopped) {
        [_moviePlayer.view removeFromSuperview];
        _moviePlayer = nil;
    }
}

- (IBAction)userPlayerViewController:(id)sender {
    if (_moviePlayerView == nil) {
        _moviePlayerView = [[MPMoviePlayerViewController alloc] initWithContentURL:[self movieURL]];
        _moviePlayerView.moviePlayer.scalingMode = MPMovieScalingModeAspectFill;
        _moviePlayerView.moviePlayer.controlStyle = MPMovieControlStyleEmbedded;
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackFinished4MoviePlayerViewController:) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
    }
    [self presentMoviePlayerViewControllerAnimated:_moviePlayerView];
}

- (void)playbackFinished4MoviePlayerViewController:(NSNotification *)notification {
    [[NSNotificationCenter defaultCenter] removeObserver:self];
    [_moviePlayerView dismissMoviePlayerViewControllerAnimated];
    _moviePlayerView = nil;
}

- (NSURL *)movieURL {
    NSBundle *bundle = [NSBundle mainBundle];
    NSString *moviePath = [bundle pathForResource:@"xx" ofType:@"mp4"];
    if (moviePath) {
        return [NSURL fileURLWithPath:moviePath];
    }else {
        return nil;
    }
}
时间: 2024-09-30 14:19:38

使用MediaPlayer播放视频的相关文章

SurfaceView+MediaPlayer播放视频

SurfaceView拥有独立的绘图表面,因此SurfaceView的UI就可以在一个独立的线程中进行行绘制.又由于不占用主线程资源,SurfaceView一方面可以实现复杂而高效的UI,另一方面又不会导致用户输入得不到及时响应. Android 三种播放视频的方式: http://www.cnblogs.com/eustoma/p/4479363.html Android之SurfaceView实现视频播放: http://www.cnblogs.com/devinzhang/archive/

使用MediaPlayer和SurfaceView播放视频

使用VideoView播放视频简单.方便,丹有些早期的开发者更喜欢使用MediaPlayer来播放视频,但由于MediaPlayer主要用于播放音频,因此它没有提供图像输出界面,此时 需要借助于SurfaceView来显示MediaPlayer播放的图像输出. 使用MediaPlayer播放视频的步骤如下: 1.创建MediaPlayer对象,并让它加载指定的视频文件. 2.在界面布局文件中定义SurfaceView组件,或在程序中创建SurfaceView组件,并为SurfaceView的Su

Android开发之MediaPlayer和SurfaceView播放视频

使用MediaPlayer出了了可以播放音频之外,还可以播放视频文件,只不过使用MediaPlayer播放视频时,没有提供图像输出界面.可以使用SurfaceView组件来显示视频图像.使用MediaPlayer和SurfaceView播放视频大致可以分为如下四个步骤: 1)定义SurfaceView组件.最好在布局文件中实现. 2)创建MediaPlayer对象,并为其加载要播放的视频. 3)将所播放的视频画面输出到SurfaceView中.使用MediaPlayer对象的setDisplay

android 播放视频

播放视频的两种方式: 使用VideoView播放视频(方便,推荐) 使用MediaPlayer和SurfaceView播放视频(早期的方式) 第一种方式: 使用VideoView播放视频的步骤如下: 在界面布局文件中定义VideoView组件,或在程序中创建VideoView组建 调用VideoView的如下两个方法加载指定视频 setVideoPath(String paht):加载path文件所代表的视频 setVideoURI(URI uri):加载uri所对应的视频 调用VideoVIe

朋友圈滚动播放视频功能

欢迎Follow我的GitHub, 关注我的CSDN. 在应用的信息流中, 用户会分享视频, 连续展示, 这就需要处理视频滚动播放. 然而, 在列表视图(RecyclerView)中使用MediaPlayer播放视频时, 会产生一些问题, 即无法同步控制视频的播放和停止. 使用控件库可以解决这一问题. 滚动播放功能: 在页面中, 判断视频的可视比例, 最大视频项开始播放, 其余视频项关闭, 滚动中自动控制切换视频状态. 让我们来看看如何实现这一功能. 本文示例的Github下载地址. 使用的视频

Android--使用VideoView播放视频

承香墨影 Android--使用VideoView播放视频 前言 之前有讲过如何使用SurfaceView配合MediaPlayer播放视频,其实Android还为开发人员提供了另外一种更简单的播 放视频媒体的方式,那就是VideoView,本篇博客就来讲讲VideoView如何播放视频,最后将以一个简单的Demo演示. 本篇博客的主要内容如下: VideoView VideoView简单的Demo MediaController MediaController简单的Demo VideoView

unity 中播放视频

Unity视频播放有很多种实现方式,可根据要求来选择适当的实现,这里总结一下: 1. MovieTexture Unity标准接口,支持的播放视频格式有.mov..mpg..mpeg..mp4..avi和.asf.仅支持PC端的本地视频播放. 1. 在游戏对象中播放,就好比在游戏世界中创建一个Plane面对象,摄像机直直的照射在这个面上 在新建的一个plane平面,将其纹理绑定为电影纹理即可 //设置当前对象的主纹理为电影纹理 renderer.material.mainTexture = mo

Android实例-MediaPlayer播放音乐和视频(XE8+小米2)

结果: 1.播放视频需要手动放入MediaPlayerControl1控件,设置MediaPlayerControl1.MediaPlayer := MediaPlayer1; 2.播放声音文件正常,但播放器视时发现,第一边正常第二边就报错了(哪位大神知道的,请M我哦,先谢谢了). 3.打包时需要打入MP3与MP4文件,路径为"assets\internal\". 实例代码: 1 unit Unit1; 2 3 interface 4 5 uses 6 System.SysUtils,

android 98 MediaPlayer+SurfaceView播放视频

package com.itheima.videoplayer; import java.io.IOException; import android.media.MediaPlayer; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.SurfaceHolder; import android.view.SurfaceHolder.Callb