• 使用系统类播放音频和视频


    iOS的系统类中提供了用于播放音频和视频的类,支持常见的多媒体格式

    框架支持:MediaPlayer.framework,    AVFoundation.framework

    1.音频

    类: AVAudioPlayer  

    支持格式: AACAMRALACiLBCIMA4PCMMP3

    初始化方法:

    initWithContentOfURL: error:

    initWithDate: error: 

     屏幕快照 2015 05 22 下午8 40 02

    file type hint:是一个在AVMEdiiaFormat.h中声明的常量,是一种文件格式,如: AVFileTypeAIFF

    initWithContentsOfURL: fileTypeHint: error:

     

    initWithData: fileTypeHint: error:


    基本属性:

    BOOL playing 正在播放

    NSUInteger numberOfChannels 频道

    NSTimeInterval duration 持续时间

    id<AVAudioPlayerDelegate> delegate

     NSURL *url

     NSData *data

    float volume 音量

     NSTimeInterval currentTime 当前时间

    NSTimeInterval deviceCurrentTime 当前设备上的时间

    基本方法

    - (BOOL)play; 播放

    - (BOOL)playAtTime:(NSTimeInterval)time 在未来的时间播放

    - (void)pause; 暂停

    - (void)stop; 停止


    代理方法: AVAudioPlayerDelegate

    //音频播放完成

    - (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag;

    如果是iPhone,还有更加丰富的代理方法,这里就不一一列举了


     

    2.视频

    视频播放是系统定义的播放控制器,使用十分简单,仅仅需要初始化控制器,并模态界面即可

    小窗口播放

    类: MPMoviePlayerController

    初始化方法

    - (instancetype)initWithContentURL:(NSURL *)url

    基本属性

    @property (nonatomic) MPMovieControlStyle controlStyle; 控制风格

    @property (nonatomic, getter=isFullscreen) BOOL fullscreen; 是否全屏

    @property (nonatomic) MPMovieScalingMode scalingMode; 决定视频如何适应View的大小

    @property (nonatomic, readonly) NSTimeInterval duration;视频时长

    @property (nonatomic, readonly) CGSize naturalSize; 视频的大小尺寸

    屏幕快照 2015 05 22 下午8 40 31

    大窗口播放

    类: MPMoviePlayerViewController

     

    初始化方法

    - (instancetype)initWithContentURL:(NSURL *)contentURL

     

    基本属性

    MPMoviePlayerController *moviePlayer;

    屏幕快照 2015 05 22 下午8 40 47

    播放界面方向的控制

    - (BOOL)shouldAutorotate 是否支持屏幕自动旋转

    - (NSUInteger)supportedInterfaceOrientations 支持旋转的方向


  • 相关阅读:
    Java中的分代垃圾回收策略
    Java Web容器的启动与处理请求的过程
    利用LRUMap 设计缓存
    《淘宝技术这十年》
    Java中的堆内存、栈内存、静态存储区
    JAVA中的代理技术(静态代理和动态代理)
    java中的synchronized关键字
    代理模式
    状态模式
    SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER
  • 原文地址:https://www.cnblogs.com/bad-heli/p/4523250.html
Copyright © 2020-2023  润新知