0

AVAudioPlayer を使用して音量レベルを管理するために使用したい UISlider があります。

私が発見した問題は、値が 0 から 1 の間に設定されていることです。0 または 1 のいずれかしか記録されません。

ただし、0.1、0.2、0.3などの変数を1.0まで確認できるようにしたいので、この値を使用してゲームサウンドを調整できます。

誰も私がこれを行う方法を知っていますか?

私は現在持っています...

- (void)viewDidLoad
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
[slider setValue:[[NSUserDefaults standardUserDefaults] floatForKey:@"sliderValue"]];

(void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

-(IBAction)slidetheslider {
[[NSUserDefaults standardUserDefaults] setFloat:[slider value] forKey:@"sliderValue"];
    GameSounds = slider.value;
    NSLog (@"Volume Level %d", GameSounds);

次のVCで、保存した値をリロードします....

GameVolume = [[NSUserDefaults standardUserDefaults] floatForKey:@"sliderValue"];
NSLog (@"Volume Slider %d", GameVolume);

その後、音量の基準として GameVolume を使用します。

問題は、0.0 から 1.0 にしようとすると、0 または 1 しか返されないことです。

0 - 100 を試してから、GameVolume をこれに変更すると...

GameVolume = [[NSUserDefaults standardUserDefaults] floatForKey:@"sliderValue"]/100; NSLog (@"Volume Slider %d", GameVolume);

それはまだ私に0または1しか与えません

4

2 に答える 2

0

使用できる数学的オプションがあります。最大値と最小値を0〜100に設定し、値が必要な場合は現在のスライダー値を100で除算します。

最小値:0最大値:100

-(float)getValueOfSlider:(CGFloat)sliderValue
{
    return sliderValue/100;
}

-(float)setSliderValue:(float)inputValue
{
    return inputValue*100;
}
于 2013-03-01T12:39:28.740 に答える
0

minimumValue および maximumValue プロパティを設定します。デフォルトは 0.0 と 1.0 ですが、浮動小数点数であり、好きな値に設定できます。

ドキュメントは次のとおり です。UISliderのAppleドキュメント

0 と 1 のみの値を読み取っている場合は、不適切な型を使用している可能性があります。関連するコードを投稿してください。

于 2013-03-01T12:27:37.197 に答える