iOS 音频播放
来源:互联网 发布:数据图的类型 编辑:程序博客网 时间:2024/06/05 16:00
一、知识点
iOS中音频播放从形式上可以分为音频播放和音乐播放
AAC ALAC IMA4 liner MP3 caf
音效播放:是播放一些短音频,常作为点缀音频, 使用AudioToolbox.frameWork.
音乐播放:是在一些较长的音频,对于一些音频的播放器通常需要进行精确的控制, 使用AVFoundation.framework。
音效:
AudioToolbox.framework
限制:
音频控制时间不能超过30s
数据必须是PCM或者IMA4格式
音频文件必须打包成.caf .aif .wav中的一种
使用System Sound Service 播放音效的步奏:
调用AudioToolboxPLAY 通过系统声音ID 播放音效
1.注册
2.播放
音效播放(系统声音服务) 是不允许去控制音频
二、 相关代码
注意:
(1)如果想使用音乐播放功能, 就必须导入
#import <AVFoundation/AVFoundation.h>
//// ViewController.m// UI-NO-19音频播放//// Created by 蜂蜜哦 on 15/8/19.// Copyright (c) 2015年 guanyi. All rights reserved.//#import "ViewController.h"#import <AudioToolbox/AudioToolbox.h>// 如果想使用 音乐播放功能 就必须导入AVFoundation#import <AVFoundation/AVFoundation.h>@interface ViewController ()<AVAudioPlayerDelegate>{ AVAudioPlayer *player;}@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; NSString *path = [[NSBundle mainBundle]pathForResource:@"胜利" ofType:@"aiff"]; // 1.注册系统声音的ID SystemSoundID ID = 1; AudioServicesCreateSystemSoundID((__bridge CFURLRef)([NSURL fileURLWithPath:path]), &ID);// 2.播放 AudioServicesPlaySystemSound(ID); /* 播放声音文件 使用AVFoundation(audio video) 处理 音频视频的操作 1.音频播放 如果想使用 音乐播放功能 就必须导入AVFoundation 使用AVAudioPlayer 播放音频 设置音频音量(volume) 音频播放速率(rate) 音频播放位置 得到总时长 检测音频是否播放完毕 音乐播放的循环次数 ... */ [self creatPlayerWithAudioName:nil];}- (void)creatPlayerWithAudioName:(NSString *)name{ NSString *path = [[NSBundle mainBundle]pathForResource:@"张学友 - 每次都想呼喊你的名字" ofType:@"mp3"]; if (player) { player = nil; } NSError *error;// 初始化音乐播放器 player = [[AVAudioPlayer alloc]initWithContentsOfURL:[NSURL fileURLWithPath:path] error:&error];// 预播放(把音乐文件的数据 加载到内存) [player prepareToPlay];// 音量 player.volume = 2;// 速率// 如果想设置播放速率 必须得先开启允许位置 player.enableRate = YES; player.rate = 1;// 声道(-1.0 左声道 0.0 中间 1.0 右声道 )// player.pan = -1.0; // 循环次数 0:播放一次 负数:循环播放 正数:设置次数+1 player.numberOfLoops = 0; player.delegate = self; // 设置音乐播放器 当前播放的时间 player.currentTime = 100; NSLog(@"音乐的总时长%f", player.duration); NSLog(@"通道的数量%ld", player.numberOfChannels);// player.isPlaying// 暂停 [player pause];// 停止 [player stop]; // 播放 [player play]; NSLog(@"设备当前时间%lf", player.deviceCurrentTime);}#pragma mark - 音频播放结束 代理方法- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag{ NSLog(@"播放结束");}@end
0 0
- ios音频播放--归纳
- ios播放音频
- ios 播放音频
- ios音频播放
- ios音频播放
- IOS音频播放概述
- iOS开发>>>音频播放
- ios音频播放
- iOS 音频播放 AVAudioPlayer
- iOS播放MP3音频
- IOS:音频播放
- IOS AVAudioPlayer 音频播放
- iOS音频播放
- iOS音频播放问题
- IOS开发 音频播放
- IOS 音频播放方法
- iOS - 音频播放简介
- iOS播放MP3音频
- Excel导入MySQL数据库
- 数据结构--单链表(C语言)
- Ubuntu下安装nvidia显卡驱动
- mysql-binlog
- 弱校联萌十一大决战之强力热身 A. Easy Math (水)
- iOS 音频播放
- poj 3450 Corporate Identity
- SVN版本控制工具的使用
- 第三周——项目4顺序表的应用
- 在一个数组中查找两个重复出现两次的数
- 简单导航页制作--代码
- light oj 1384 - Stream My Contest (最小树形图+二分)
- hihoCoder 1234 Fractal
- js 验证表单 js提交验证类