美文网首页
iOS 音频播放

iOS 音频播放

作者: 十月末的故事 | 来源:发表于2019-08-21 15:01 被阅读0次
    1. AVAudioPlayer
    NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"mp3"];
    self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL URLWithString:path] error:nil];
     _player.numberOfLoops = 0;
     _player.volume = 1.0;
     _player.delegate = self;
     [ _player prepareToPlay];
    
    [ _player play];
    
    1. AVPlayer
    NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"mp3"];
        
    AVPlayerItem *item = [[AVPlayerItem alloc] initWithURL:[NSURL fileURLWithPath:path]];
    self.player = [[AVPlayer alloc] initWithPlayerItem:item];
     _player.volume = 1.0;
        
    [self.player play];
    
    1. MediaPlayer
    self.moviePlayerVC = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
    [self.navigationController presentViewController:_moviePlayerVC animated:YES completion:nil];
    
    1. AudioToolbox
      可以播放时间长度30秒以内的声音文件。
    SystemSoundID soundID;
    NSString *path = [[NSBundle mainBundle]pathForResource:@"beep" ofType:@"wav"];
    AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath:path], &soundID);
    AudioServicesPlaySystemSound(soundID);
    // 释放
    AudioServicesDisposeSystemSoundID(soundID);
    
    
    // 播放系统声音:
    当参数为 1000-2000 之间数字时就是播放系统声音。1108为拍照声。
    AudioServicesPlaySystemSound(1108);
    //AudioServicesRemoveSystemSoundCompletion(1108);
    
    
    // 提醒音和震动, 如果手机处于静音状态,则提醒音将自动触发震动
    SystemSoundID sid;
    AudioServicesCreateSystemSoundID((__bridge CFURLRef)url, &sid);
    AudioServicesPlayAlertSound(sid);
    
    // 仅震动
    AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
    

    系统声音参考

    1. AudioUnit

    AVAudioSession

    Category

    AvAudioSessionCategoryAmbient
    应用会随着静音键和屏幕锁屏而停止播放音乐,但不会中止其他应用的声音。可以和其他应用同时播放声音。

    AVAudioSessionCategorySoloAmbeient
    类似于AVAudioSessionCategoryAmbient 但它会中止其他应用的声音。

    AVAudioSessionCategoryPlayback
    应用不会随着静音键和屏幕锁屏而停止播放。

    AVAudioSessionCategoryRecord
    用于录音。

    AVAudioSessionCategoryPlayAndRecord
    用于既需要播放声音又需要录音的应用,如语音聊天、视频通话应用。

    AVAudioSessionCategoryAudioProcessing
    当需要进行离线语音处理时使用。

    设置 Category
    AVAudioSession *audioSession = [AVAudioSession sharedInstance];
    [audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
    [audioSession setActive:YES error:nil];
    

    相关文章

      网友评论

          本文标题:iOS 音频播放

          本文链接:https://www.haomeiwen.com/subject/rzgbsctx.html