ios - ios删除avaudioplayer循环延迟

标签 ios objective-c audio avaudioplayer

我有一个加载音频文件并循环播放的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秒钟的暂停并像连续歌曲一样播放循环?

最佳答案

T先生的评论实际上是正确的。解决方案是修复由车库乐队自动添加的空白区域。

关于ios - ios删除avaudioplayer循环延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33220023/

相关文章:

ios - 为什么 CSS background-size : cover not work in portrait mode on iOS?

ios - 为什么使用强大的属性来保存选择器 View

ios 应用程序崩溃,没有错误,也没有崩溃报告

objective-c - 具有单行显示的 UITableView - 如何将另一行移动到带有动画的显示区域?

audio - Web Audio API 注意事项

java - 通过AudioInputStream读取数据需要关心big endian和little endian吗?

ios - CGAffineTransform Rotate 每次顺时针旋转都会向左增量移动

html - 在 Iphone 上查看网站时出现各种问题;网站未居中且页脚未跨越底部

ios - 如何在 UITabBarController 中使用自定义初始化程序注入(inject)依赖项?

c++ - 用FFMpeg获取样本总数