zoukankan      html  css  js  c++  java
  • 音频

    n音频
     
    n简介
    n简单来说,音频可以分为2种
    p音效
    ü又称“短音频”,通常在程序中的播放时长为1~2秒
    ü在应用程序中起到点缀效果,提升整体用户体验
    p音乐
    ü比如游戏中的“背景音乐”,一般播放时间较长
    ü
    n播放音频需要用到的框架
    pAVFoundation.framework
    n音效的播放

    // 1.获得音效文件的路径

    NSURL *url = [[NSBundle mainBundle] URLForResource:@"m_03.wav" withExtension:nil];

    // 2.加载音效文件,得到对应的音效ID

    SystemSoundID soundID = 0;

    AudioServicesCreateSystemSoundID((__bridge CFURLRef)(url), &soundID);

    // 3.播放音效

    AudioServicesPlaySystemSound(soundID);

    n音效文件只需要加载1次
    n音效的播放
    n音效播放常见函数总结
    p加载音效文件

    AudioServicesCreateSystemSoundID(CFURLRef inFileURL, SystemSoundID *outSystemSoundID)

    p释放音效资源

    AudioServicesDisposeSystemSoundID(SystemSoundID inSystemSoundID)

    p
    p播放音效

    AudioServicesPlaySystemSound(SystemSoundID inSystemSoundID)

    p播放音效带点震动

    AudioServicesPlayAlertSound(SystemSoundID inSystemSoundID)

    n音效格式
    n声音和音效小结——音频转换工具
    n转换aiff格式
    pafconvert -f AIFF -d I8 filename
    n转换caf格式
    pafconvert -f caff -d aac -b 32000 filename
    n批量转换
    pfind . -name '*.mp3' -exec afconvert -f caff -d aac -b 32000 {} ;
    n
    n
    n音乐的播放
    n音乐播放用到一个叫做AVAudioPlayer的类
    n
    nAVAudioPlayer常用方法
    p加载音乐文件
    ü- (id)initWithContentsOfURL:(NSURL *)url error:(NSError **)outError;
    ü- (id)initWithData:(NSData *)data error:(NSError **)outError;
    ü
    p准备播放(缓冲,提高播放的流畅性)
    ü- (BOOL)prepareToPlay;
    p播放(异步播放)
    ü- (BOOL)play;
    n音乐的播放
    p暂停
    ü- (void)pause;
    ü
    p停止
    ü- (void)stop;
    ü
    p是否正在播放
    ü@property(readonly, getter=isPlaying) BOOL playing;
    ü
    p时长
    ü@property(readonly) NSTimeInterval duration;
    ü
    p当前的播放位置
    ü@property NSTimeInterval currentTime;
    n音乐的播放
    p播放次数(-1代表无限循环播放,其他代表播放numberOfLoops+1次)
    ü@property NSInteger numberOfLoops;
    ü
    p音量
    ü@property float volume;
    p是否允许更改速率
    ü@property BOOL enableRate;
    ü
    p播放速率(1是正常速率,0.5是一般速率,2是双倍速率)
    ü@property float rate;
    p有多少个声道
    ü@property(readonly) NSUInteger numberOfChannels;
    ü
    n
  • 相关阅读:
    分类在使用runtime做方法交换时
    打包自己Framework中含有第三方库的解决方案分CocoaPods与手动导入两种方式
    iOS 百分比圆环曲线swift4.0实现
    最新swift4.0 图片进行尺寸大小及体积压缩
    swift 密码由6-16数字和字母组合组成
    Android 7.0 之后相机/文件读写等权限获取方式改变,导致开启相机闪退
    Android Manifest 中 uses-feature 和 uses-permission的作用 关系和区别
    Android studio 3.1.3真机调试报错,no target device found
    如何用Java实现条件编译
    Missing android.support.FILE_PROVIDER_PATHS meta-data 报错原因分析
  • 原文地址:https://www.cnblogs.com/niexiaobo/p/4888731.html
Copyright © 2011-2022 走看看