Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何创建音频停止按钮?_Iphone_Ios_Audio_Sdk_Avaudioplayer - Fatal编程技术网

Iphone 如何创建音频停止按钮?

Iphone 如何创建音频停止按钮?,iphone,ios,audio,sdk,avaudioplayer,Iphone,Ios,Audio,Sdk,Avaudioplayer,基本上,音频按钮工作正常,但停止按钮不工作。它给了我一些问题,但没有崩溃,也不工作 .h文件: @property (nonatomic, retain) AVAudioPlayer *elSonido4; -(IBAction)fajitas1:(id)sender; -(IBAction)stopPressed:(id)sender; .m文件: @synthesize elSonido4; -(IBAction)fajitas1:(id)sender{ N

基本上,音频按钮工作正常,但停止按钮不工作。它给了我一些问题,但没有崩溃,也不工作

.h文件:

@property (nonatomic, retain) AVAudioPlayer *elSonido4;

    -(IBAction)fajitas1:(id)sender;

    -(IBAction)stopPressed:(id)sender;
.m文件:

@synthesize elSonido4;

-(IBAction)fajitas1:(id)sender{

    NSString *path=[[NSBundle mainBundle]pathForResource:@"fajitas" ofType:@"m4a"];
    elSonido4=[[AVAudioPlayer alloc]initWithContentsOfURL:[NSURL fileURLWithPath:path]error:NULL];
    elSonido4.delegate=self;
    [elSonido4 play];

}


   - (IBAction)stopPressed:(id)sender{
    [elSonido4 pause];
}
有什么建议吗?如果可能,我可以在更改视图时停止所有声音吗?

删除AVAudioPlayer*elSonido4;来自-IBActionfajitas1:idsender方法的行

试试这个,在你的停止按钮事件中

if([elSonido4 isPlaying])
    {
        NSLog(@"was playing and now paused");
        [elSonido4 pause];
    }
else {NSLog (@"Button tapped but audio is over");}

假设您在.h文件中使用了。

您正在使用elSonido4变量播放歌曲,并停止使用audio1。这不是错误的主要原因吗?哦,是的。。但是现在我更改了它,我发现了一些问题:“elSonido4”的本地声明隐藏了实例变量无论您在代码中做了什么更改,请通过编辑您的问题来粘贴它以跟踪问题希望您已将该方法绑定到button touch事件。告诉我你是把消息打印出来了还是放在if语句里面了?它又不起作用了iBactionStoppersed:idsender{if[elSonido4 isPlaying]{NSLog@was播放;[elSonido4暂停];}}这就是我做的我清理并重新构建了产品,但不,我没有在正在播放的控制台中看到它,尽管所有内容都链接了。。我不明白。控制台没有打印意味着,在播放器停止播放后,你正在点击停止按钮。歌曲结束了。或者您没有正确绑定停止按钮。通过调试进行检查,是否调用了stop方法?