MediaPlayer

IOS系统的四层结构:核心操作系统层:Core OS,核心服务层:Core Services,媒体层:Media,Cocoa Touch层。

使用MediaPlayer:

1.引入MediaPlayer.frame框架,引入头文件#import <MediaPlayer/MediaPlayer.h>

2.通过设置MPMoviePlayerViewController来设置全屏的播放:

MPMoviePlayerController *_moviePlayer;

MPMoviePlayerViewController *_mpMovieViewController;

NSString *filePath = [[NSBundle mainBundle]pathForResource:@"moxue" ofType:@"mp4"];//视频文件路径
    _mpMovieViewController = [[MPMoviePlayerViewController alloc]initWithContentURL:[NSURL fileURLWithPath:filePath]];//将路径添加到MPMoviePlayerViewController
    [_mpMovieViewController.moviePlayer play];//设置moviePlayer播放
    [self.view addSubview:_mpMovieViewController.view];//将MPMoviePlayerViewController添加到view上。

3.通过设置MPMoviePlayerController在view上设置播放屏幕的大小:

NSString *filePath = [[NSBundle mainBundle]pathForResource:@"moxue" ofType:@"mp4"];//视频文件路径
    _mpMovieViewController = [[MPMoviePlayerViewController alloc]initWithContentURL:[NSURL fileURLWithPath:filePath]];//将路径添加到MPMoviePlayerViewController
 _moviePlayer = [_mpMovieViewController moviePlayer];//设置播放器
    _moviePlayer.view.frame = CGRectMake(50, 100, 300, 200);//设置播放器大小
   _moviePlayer.view.backgroundColor = [UIColor redColor];//设置背景颜色
    [_moviePlayer play];//播放
    [self.view addSubview:_moviePlayer.view];//添加到视图

    _moviePlayer.controlStyle = MPMovieControlStyleEmbedded;//控件选择
    _moviePlayer.scalingMode = MPMovieScalingModeAspectFit;//屏幕缩放

4.设置播放器的一些监听方法:

 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(notificationObserver:) name:MPMoviePlayerDidEnterFullscreenNotification object:nil];//添加进入全屏的监听
}
-(void)notificationObserver:(NSNotification *)info
{
    NSLog(@"%@",info);
}
时间: 2024-07-31 14:30:28

MediaPlayer的相关文章

每天进步一点----- MediaPlayer

package com.example.playaudiotest; import java.io.File; import android.app.Activity; import android.media.MediaPlayer; import android.os.Bundle; import android.os.Environment; import android.view.View; import android.view.View.OnClickListener; import

Android中使用SurfaceView+MediaPlayer+自定义的MediaController实现自定义的视屏播放器

效果图如下: (PS本来是要给大家穿gif动态图的,无奈太大了,没法上传) 功能实现:暂停,播放,快进,快退,全屏,退出全屏,等基本功能 实现的思路: 在主布局中放置一个SurfaceView,在SurfaceView中放置一个MediaPlayer ,在其下方自定义一个MediaController,不过也不能称之为MediaController,使用的是PupupWindow来实现的,在PupupWindow布局中放置几个textView,Button,最重要的使我们的SeekBar控件,创

MediaPlayer 状态机 API 详解 示例

简介 public class android.media.MediaPlayer extends Object implements VolumeAutomation 可能需要的权限: One may need to declare a corresponding(相应) WAKE_LOCK permission <uses-permission> element. <uses-permission android:name="android.permission.WAKE_

E/MediaPlayer: Should have subtitle controller already set

原文链接:http://stackoverflow.com/questions/20087804/should-have-subtitle-controller-already-set-mediaplayer-error-android/20149754#20149754 1 static MediaPlayer getMediaPlayer(Context context){ 2 3 MediaPlayer mediaplayer = new MediaPlayer(); 4 5 if (an

android错误之MediaPlayer用法的Media Player called in state *

用到Media Player,遇到几个问题,记一下 用法就不说了,使用的时候最好参考一下mediaPlayer的这张图 第一个错误是Media Player called in state 8 这个是因为在调用start之前没有prepare,因为我是用了 mediaPlayer = MediaPlayer.create(context, R.raw.notice); 去初始化的播放器,这个接口说明 只要成功返回了播放器就不需要再去prepare了,但是我之后多次调用stop和start,就导致

问一个关于MediaPlayer的问题

============问题描述============ 在用MediaPlayer播放音乐的时候,能不能获取当前正在播放的数据? 我想做到的是两个手机同步播放,但是一个手机没有正在播放的文件,是另一个手机在播放的时候传输给它的.传输的问题已经解决了.问题是怎么获得当前正在播放的数据,并且在另一个手机上播放数据? ============解决方案1============ 我觉得可以换一个思路,可以考虑让两个手机同时访问同一个数据源,这样就可以实现两个或多个手机同步播放.

【Android 多媒体开发】 MediaPlayer 状态机 接口 方法 解析

作者 : 韩曙亮 转载请著名出处 :  http://blog.csdn.net/shulianghan/article/details/38487967 一. MediaPlayer 状态机 介绍 Android MediaPlayer 状态即图例 : 1. Idle (闲置) 状态 和 End (结束) 状态 MediaPlayer 对象声明周期 : 从 Idle 到 End 状态就是 MediaPlayer 整个生命周期; -- 生命周期開始 : 进入 Idle (闲置) 状态; -- 生

MediaPlayer本地播放流程解析(一)

应用场景: MediaPlayer mediaPlayer = new MediaPlayer(); mediaPlayer.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { mediaPlayer.release(); mediaPlayer = null; } }); mediaPlayer.setDataSource("abc.m

android MediaPlayer

Playback control of audio/video files and streams is managed as a state machine. The following diagram shows the life cycle and the states of a MediaPlayer object driven by the supported playback control operations. The ovals represent the states a M

Android MediaPlayer 常用方法介绍

方法:create(Context context, Uri uri) 解释:静态方法,通过Uri创建一个多媒体播放器. 方法:create(Context context, int resid) 解释:静态方法,通过资源ID创建一个多媒体播放器 方法:create(Context context, Uri uri, SurfaceHolder holder) 解释:静态方法,通过Uri和指定 SurfaceHolder [抽象类] 创建一个多媒体播放器 方法: getCurrentPositi