iOS:零碎整理iOS音视频开发API

在ios开发过程中,音频经常会用到,而音频根据使用场合分为音效和音乐,音效一般只播放1~2秒

  1. ios音效支持的格式

   ios 支持的音频格式有:aac、alac、he-aac、iLBc、IMA4、Linea PCM、MP3、CAF,其中,aac、alac、he-aac、mp3、caf支持硬件解码,其他只支持软件解码, 软件界面因为比较耗电,所以,我们在开发过程中,经常采用的是caf、mp3

  1. 音频库

    AVFoundation.framework

  1. 代码
    // 打开资源
    NSURL* url =[[NSBundle mainBundle]URLForResource:@"m_03" withExtension:@"wav"];
    SystemSoundID soundID;
    AudioServicesCreateSystemSoundID((__bridge CFURLRef)(url), &soundID);
    // 播放音效
    AudioServicesPlaySystemSound(self.soundID);
    // 删除音效
    AudioServicesDisposeSystemSoundID(self.soundID);
  1.  框架

  1. 加载音乐资源并播放

复制代码

    AVAudioPlayer* player = musicDict[fileName];
    if (!player) {
        NSURL* url = [[NSBundle mainBundle] URLForResource:fileName withExtension:nil];
        NSCAssert(url != nil, @"fileName not found musics");
        
        NSError* error;
        player = [[AVAudioPlayer alloc]initWithContentsOfURL:url error:&error];
        if (error) {
            NSLog(@"load music error");
            return;
        }
        [musicDict setObject:player forKey:fileName];
    }
    if (player.isPlaying == NO) {
        [player play];
    }

复制代码

6.暂停 停止操作

[player pause];// 暂停
[player stop];// 停止
[player isplaying];// 是否在播放

好了,现在能播放音乐了,但我们在看其他的应用的时候,一般当应用切换到后台的时候也能播放音乐,那这个又是如何实现的呢?这个只要设置音频的后台播放,具体为:

   1> 在后台开启一个任务

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    // 开启后台任务,让音乐继续播放
    [application beginBackgroundTaskWithExpirationHandler:nil];
}

  2> 设置项目配置文件

 

   3> 设置音频链接会话,这个主要告诉设备如何处理音频事件的

1234 // 设置音频会话类型``   ``AVAudioSession* session = [AVAudioSession sharedInstance];``   ``[session setCategory:AVAudioSessionCategorySoloAmbient error:``nil``];``   ``[session setActive:``YES error:``nil``];

      这里有很多会话类型,如果想详细了解,可参考:blog.csdn.net/daiyelang/a…

  现在应该可以播放音乐了。

© 版权声明
THE END
喜欢就支持一下吧
点赞0

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYG4h2KQ' (Errcode: 28 - No space left on device) in /www/wwwroot/583.cn/wp-includes/class-wpdb.php on line 2345
admin的头像-五八三
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称代码图片