gpt4 book ai didi

ios - 如何在 iOS 中完成循环后停止音频

转载 作者:行者123 更新时间:2023-11-29 03:27:54 24 4
gpt4 key购买 nike

   我是 iPhone 编程新手。使用下面的代码我显示带有音频的图像。我已存储在数组中的图像和音频。在 audioPlayerDidFinishPlaying 方法中完成音频后,我使用此代码显示下一个带有音频的图像。
每件事都工作得很好。但问题是,音频和图像完成后,又要从头开始。下面的代码可能存在一些问题,任何人都可以纠正它,请..

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
for (NSString* path in array000)
{
[blaukypath2 addObject:[UIImage imageWithContentsOfFile:path]];
NSLog(@"%@",path);
}
currentImage++;
NSError *error;
if (currentImage >= blaukypath2.count) currentImage = 0;
UIImage *blaukyyimag = [blaukypath2 objectAtIndex:currentImage];
[img10 setImage:blaukyyimag];
NSLog(@"%icurrentImage++ DIDF",currentImage);
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[audiopath2 objectAtIndex:currentImage] error:&error] ;
audioPlayer.delegate = self;
[audioPlayer prepareToPlay];
[audioPlayer play];
}

最佳答案

如果您不想重复图像和音频,请删除代码中的这一行..

if (currentImage >= blaukypath2.count) currentImage = 0;

因为这一行将使你的 currentImage 为 0。因此循环将再次开始。

更新
像这样做

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
for (NSString* path in array000)
{
[blaukypath2 addObject:[UIImage imageWithContentsOfFile:path]];
NSLog(@"%@",path);
}
if (currentImage < blaukypath2.count)
{
currentImage++;
NSError *error;
UIImage *blaukyyimag = [blaukypath2 objectAtIndex:currentImage];
[img10 setImage:blaukyyimag];
NSLog(@"%icurrentImage++ DIDF",currentImage);
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[audiopath2 objectAtIndex:currentImage] error:&error] ;
audioPlayer.delegate = self;
[audioPlayer prepareToPlay];
[audioPlayer play];
}
}

关于ios - 如何在 iOS 中完成循环后停止音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20218342/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com