#import "ViewController.h"
#import <AVFoundation/AVFoundation.h>
@interface ViewController ()
//记录systemSoundID
@property (nonatomic, assign) SystemSoundID systemID;
//记录播放器对象
@property (nonatomic, strong) AVAudioPlayer *audioPlayer;
@end
@implementation ViewController
- (AVAudioPlayer *)audioPlayer {
if (!_audioPlayer) {
NSURL *audioFilePath = [[NSBundle mainBundle] URLForResource:@"AllOfMe.mp3" withExtension:nil];
_audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:audioFilePath error:nil];
}
return _audioPlayer;
}
//播放音效(<=30s)
- (IBAction)playShortAudio:(id)sender {
//真机:如果播放系统提供声音(1000 ~ 2000)/震动(静音状态)
AudioServicesPlaySystemSound(1600);
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
//播放本地音效文件(创建systemID+播放)
NSString *shortAudioPath = [[NSBundle mainBundle] pathForResource:@"audio.wav" ofType:nil];
NSURL *url = [NSURL fileURLWithPath:shortAudioPath];
AudioServicesCreateSystemSoundID((__bridge CFURLRef _Nonnull)(url), &_systemID);
//播放
AudioServicesPlaySystemSound(_systemID);
}
//播放本地音频文件
- (IBAction)playLocalAudioFile:(id)sender {
if ([self.audioPlayer prepareToPlay]) {
//可以将音频文件文件的数据读到内存(快)
[self.audioPlayer play];
}
}
//暂停
- (IBAction)pauseAudioFile:(id)sender {
if (self.audioPlayer.playing) {
//正在播放
[self.audioPlayer pause];
}
}
//停止(下次播放,从头开始)
- (IBAction)stopAudioFile:(id)sender {
//设置当前播放的时间偏移量offset为0
[self.audioPlayer stop];
self.audioPlayer.currentTime = 0;
}
@end
AVAudioPlayer播放本地音频
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Note from Apple: AVAudioPlayerAn instance of the AVAudioP...
- 现在直播越来越火,俨然已经成为了下一个红海。作为一个资深码农(我只喜欢这样称呼自己,不喜欢别人这样称呼我),我必须...
- AVPlayer属于AVFoundation框架,不仅能够播放音频,还可以播放视频,支持本地和网链,更加接近底层,...