ios删除avaudioplayer循环延迟
Posted
技术标签:
【中文标题】ios删除avaudioplayer循环延迟【英文标题】:ios remove avaudioplayer loop delay 【发布时间】:2015-10-19 17:02:58 【问题描述】:我有一个加载声音文件并循环播放的 avaudioplayer。问题是每次文件循环时,都会出现暂停/延迟,这会使音乐听起来很糟糕。
我发现这个问题有类似的问题,但适用于 2 名玩家。我有一个播放器在每个循环中暂停 1 秒:AVAudioPlayer eliminating one second pause between sound files
这是我的音频播放器设置的样子:
@interface HomeViewController ()
@property (strong, nonatomic) DataController *dataController;
@end
@implementation HomeViewController
- (void)viewDidLoad
[super viewDidLoad];
self.dataController = [DataController sharedInstance];
[self createAndStartAudioPlayer];
- (void) viewWillAppear:(BOOL)animated
[self.dataController.player play];
- (void) createAndStartAudioPlayer
NSTimeInterval shortStartDelay = 0.01; // seconds
NSTimeInterval now = self.dataController.player.deviceCurrentTime;
[self.dataController.player playAtTime: now + shortStartDelay];
NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"jingle-loop" ofType:@"mp3"];
NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];
self.dataController.player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL fileTypeHint:AVFileTypeMPEGLayer3 error:nil];
self.dataController.player.numberOfLoops = -1; //infinite
[self.dataController.player prepareToPlay];
如何停止这 1 秒的暂停并像连续歌曲一样播放循环?
【问题讨论】:
第一次播放文件时,是否也有延迟? 如果第一次播放文件有延迟,请尝试使用像audacity这样的音频编辑器编辑音频文件,并删除实际音频前后的空白。有时会有淡入或添加到音频文件的淡出样式。看看它是否有效。 【参考方案1】:先生。 cmets中的T实际上是正确的。解决方案是修复车库带自动添加的空白。
【讨论】:
以上是关于ios删除avaudioplayer循环延迟的主要内容,如果未能解决你的问题,请参考以下文章
AVAudioPlayer 是不是能够在没有可听间隙的情况下循环播放大型音频文件?