5

を作成しましAVAudioPlayerたが、ユーザーがボタンをクリックしたときにミュートしたいと思います。

ここで私が試したこと:

player.volume = 1.0  //when first time i initiate my player


- (IBAction)speakerOnOff:(id)sender {
    if (player.volume == 1.0) {

        [player setVolume: 0.0];

        NSLog(@"1volume is:%f",player.volume);
    }else if (player.volume == 0.0) {

        [player setVolume: 1.0];

        NSLog(@"2volume is:%f",player.volume);
    }
}
4

2 に答える 2

13

if (player.volume = 1.0)if (player.volume = 0.0)少なくとも 2 つのレベルで誤りです。まず、C は Pascal ではありません。=演算子は代入です。おそらくif (player.volume == 1.0)代わりに意味したのでしょう。

2 つ目は、これでもうまくいかないということです。プレーヤーの状態を示すためにブール値フラグを設定することをお勧めします (else if冗長であるため、この部分は省略します)。

- (IBAction)speakerOnOff:(id)sender
{
    static BOOL muted = NO;
    if (muted) {
        [player setVolume:1.0];
    } else {
        [player setVolume:0.0];
    }
    muted = !muted;
}
于 2012-12-14T14:24:05.087 に答える