zoukankan      html  css  js  c++  java
  • IOS开发-视频,音频,录音简单总结

    /*****

     * 1. 视频播放

     *

     *  @格式:mp4 mov m4v m2v 3gp 3g2

     *

     *  @系统框架使用:#import <MediaPlayer/MediaPlayer.h>

       不仅可以播放本地视频 也可以直接播放网络视频

     MPMoviePlayerController 播放视频的类,这个类比较特殊,有Controller的一些属性,但又不完全是控制器

     有两点需要注意:

     1.MPMoviePlayerController 上面播放视频 的view 需要给它坐标

     2.还需要添加在 某个视图上面

     ******/

     

    MPMoviePlayerController播放时也需要有一个URL

    1.设置视频是否循环播放:repeatMode

    2.是否允许分享到airPlay:allowsAirPlay

    3.是否使用lairPlay:airPlayVideoActive

    4.如果播放的是网络视频的话 是否需要自动继续播放:shouldAutoplay

    5.获得视频加载状态:loadState

    6.视频的播放状态:playbackState

    7.设置视频显示样式:controlStyle

     

    还有一些通知,如MPMoviePlayerPlaybackStateDidChangeNotification通过通知可以检测播放状态发生改变,

    *如果前面设置了controlStyle,后面设置的setFullscreen 将不会起作用

    2.

    AVAudioPlayer音频播放类

    AVAudioRecorder录音类

    录音的初始化和属性和音频播放大同小异

     

    共有的有:

    音频:

    1.开始:play  2.暂停:pause 3.停止:stop 预加载:prepareToPlay

    4.代理AVAudioRecorderDelegate 如:播放结束时触发- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag

     

    录音:

    1.开始:record 2.暂停:pause 3.停止:stop 预加载:prepareToRecord

    4.代理AVAudioPlayerDelegate 如:录音结束时触发(void)audioRecorderDidFinishRecording:(AVAudioRecorder *)recorder successfully:(BOOL)flag

     

    拓展:

    1.进度 是按百分比计算(0到1之间)

     progressView.progress = 0.0;

     

    2.NSFileManager文件管理类 也是一个单例

    NSFileManager *manager = [NSFileManager defaultManager];

    其中有一个重要常用的方法

    查询并取出一个文件下所有子文件:subpathsAtPath

    如:查询临时文件下的子文件:NSArray *list = [manager subpathsAtPath:NSTemporaryDirectory()];

    3.例子

    //1.音频文件的url路径
    18     NSURL *url=[[NSBundle mainBundle]URLForResource:@"风吹麦浪.mp3" withExtension:nil];
         
    20     //2.创建播放器
    21     self.player=[[AVAudioPlayer alloc]initWithContentsOfURL:[NSUURL fileURLWithPath:url]
     error:nil];
    23 //3.缓冲 24 [self.player prepareToPlay]; 29 //开始播放/继续播放 30 [self.player play];
    34 //暂停 35 [self.player pause];
    36 //停止
    37 //注意:如果点击了stop,那么一定要让播放器重新创建,否则会出现问题哦
    38 [self.player stop];

     

  • 相关阅读:
    TUN/TAP区别
    从日志文件解决ArcGIS Server性能低下问题的步骤(1)
    java异常
    Maven
    前车之鉴-web篇
    图论复习总结
    奇(qi)谋(ji)巧(yin)计(qiao)
    莫比乌斯反演呓语
    学习后缀数组笔记
    浅读叶青学长竞赛学习知识目录
  • 原文地址:https://www.cnblogs.com/chenhongios/p/4776041.html
Copyright © 2011-2022 走看看