[英]Starting & Stopping a sound (Code provided) iOS
我只有一个声音,它通过服务器通过http播放。 但是它可以通过我的服务器成功播放,但声音似乎并没有停止。 我试图将其编码为停止,但是我没有运气。 感谢帮助
- (IBAction)oneSound:(id)sender; {
if (ButtonAlReadyClicked == 1)
{
ButtonAlReadyClicked = 2;
[sender setBackgroundImage:[UIImage imageNamed:@"m2.png"] forState:UIControlStateNormal];
}
else if (ButtonAlReadyClicked == 2)
{
ButtonAlReadyClicked = 1;
[sender setBackgroundImage:[UIImage imageNamed:@"m1.png"] forState:UIControlStateNormal];
}
if (player && player.playing) {
[player stop];
[player release];
player = nil;
return;
}
AVPlayer *player = [[AVPlayer playerWithURL:[NSURL URLWithString:@"http://www.mysite.com/hi.mp3"]] retain];
[player play];
}
我得到的错误是'错误:使用未声明的标识符'player'[3]
if (player …
行始终返回false,因为您将player
作为本地变量,而不是实例ivar。将一个player
ivar添加到您的.h
文件中,然后将您初始化的那个保存到该文件中,而不是保存到本地播放器中。
您需要在.h文件中声明一个名为player和实例化播放器的变量,单击该按钮即可。 出现错误的原因是,在尝试访问变量及其属性后,声明了player变量。
- (IBAction)oneSound:(id)sender {
if (player == nil) {
player = [[AVPlayer playerWithURL:[NSURL URLWithString:@"http://www.mysite.com/hi.mp3"]] retain];
[player play];
ButtonAlReadyClicked = 1;
[self oneSound:sender];
return;
}
if (ButtonAlReadyClicked == 1) {
ButtonAlReadyClicked = 2;
[sender setBackgroundImage:[UIImage imageNamed:@"m2.png"] forState:UIControlStateNormal];
}
else if (ButtonAlReadyClicked == 2)
{
ButtonAlReadyClicked = 1;
[sender setBackgroundImage:[UIImage imageNamed:@"m1.png"] forState:UIControlStateNormal];
}
if (player && player.playing) {
[player stop];
[player release];
player = nil;
return;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.