美文网首页
AVAudioPlayer播放音乐

AVAudioPlayer播放音乐

作者: MONKEY小巧 | 来源:发表于2016-05-05 15:20 被阅读852次

简单做一个播放音乐的小demo:

  • 搭建界面,放三个按钮,播放、暂停、停止
  • 播放音效,因为文件小,所以不需要进行什么控制。音乐文件的时间比较长,那就会有暂停播放、继续播放这些控制的需求。那就不能简单的搞一个soundID去播放,而是需要用到AVAudioPlayer这个类。
  • 创建的时候,需要指定url,一个url对应一个对象,并且是只读的,不能修改。所以说,如果你想播放一首新的音乐,就需要重新创建一个AVAudioPlayer对象
  • prepareToPlay,准备播放,把音频文件加载到内存中。也可以直接调用play 方法,它就会隐式调用prepareToPlay方法
  • pause,暂定;stop,停止。
    苹果这里有一个非常不爽的地方,停止的时候,默认也会继续播放,如果需要真正挺值得话,就要将时间进行归零操作。
    • isPlaying 是否正在播放
    • duration 当前播放音乐的总时长
    • currentTime 当前播放的时间点

下面是实现代码:
ViewController.m

#import "ViewController.h"
#import <AVFoundation/AVFoundation.h>

/**
 1. 需要使用AVFoundatiaon框架
 2. 创建音乐播放器
 3. 根据需求, 进行播放/暂停/停止
 */

@interface ViewController ()
@property (nonatomic, strong) AVAudioPlayer *player;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    // 创建音乐播放器
    
    //1. 获取URL路径
    NSURL *url = [[NSBundle mainBundle] URLForResource:@"xxx.mp3" withExtension:nil];
    
    //2. 创建一个error对象
    NSError *error;
    
    //3. 创建音乐播放器
    self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
    
    if (error) {
        NSLog(@"有错误产生是的逻辑判断");
    }
}

- (IBAction)playClick:(id)sender {
    //1. 准备播放 --> 将音频文件加载到内存中 --> 这句话可以不写 --> play会隐式调用prepareToPlay方法. 但是规范来说, 还是会写上
    [self.player prepareToPlay];
    
    //2. 开始播放
    [self.player play];
}

- (IBAction)pauseClick:(id)sender {
    // 暂停播放
   [self.player pause];
}

- (IBAction)stopClick:(id)sender {
    // 停止播放
    [self.player stop];
    
    // 归零操作 / 时间重置 currentTime--> 秒为单位
    self.player.currentTime = 0;
}

@end

相关文章

  • Note 13 播放器

    音频播放 AVAudioplayer AVAudioplayer 只能播放本地音乐 每个AVAudioplayer...

  • 音乐播放

    AVAudioPlayer :播放音乐, 只能播放本地 AVPlayer :播放音乐 ,本地、远程通吃, 并且还可...

  • 播放音频

    AVAudioplayer ->只能播放本地音乐AVPlayer ->(本地音乐.远程音乐,本地视频,远程视频) ...

  • iOS播放音乐库音乐,播放系统音乐中的文件

    AVAudioPlayer播放IPod音乐库中的音乐文件. 1.首先通过代理存储音乐信息 2.取出音乐播放

  • iOS音频播放

    方式一:使用AVAudioPlayer播放音乐 特点:自定制化程度高注意点:AVAudioPlayer 需要设置成...

  • AVAudioPlayer播放本地音乐

    在独立开发 玫瑰小镇攻略app的,需要播放背景音乐“玫瑰小镇.mp3”,由于是中文名,导致无法获取url。 将名字...

  • AVAudioPlayer播放音乐

    简单做一个播放音乐的小demo: 搭建界面,放三个按钮,播放、暂停、停止 播放音效,因为文件小,所以不需要进行什么...

  • AVAudioPlayer进行音乐播放

    导入 代理 切换按钮状态 开始播放 暂停播放 获得已经播放的时间 获得歌曲剩余时间 音乐的长度 获得音乐路径(UR...

  • 播放音乐 AvAudioPlayer

  • IOS音频和视频

    使用AVAudioPlayer类播放音频 掌握后台播放音乐 自定义后台任务 使用MPMoviePlayer播放视频...

网友评论

      本文标题:AVAudioPlayer播放音乐

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