Как сделать приложение Volume Slider для Mac

Пишу приложение для Mac OS. Так что это будет аудиоплеер. Теперь я пытаюсь сделать слайдер громкости из AVPLayer, но у меня проблема. Итак, я попробовал этот код:

in h file:

IBOutlet NSLider *volumeSlider;
IBOutlet NSButton *button;
AVPlayer *myplayer;

-(IBAction)changeslider;

in m file:

[myplayer.volume=volumeSlider.value]

Итак, у меня есть ошибка, присваиваемая «с плавающей точкой» из несовместимого типа «id». Так что я делаю не так? Я знаю, как сделать слайдер громкости в IOS из MPMVolumeView, но Mac OS использовала ТОЛЬКО AVPlayer или AVAudioPlayer. Спасибо за ответы.

Итак, у меня есть идея с + или - громкостью от кнопок.

NSString *change
change = @"%@", +1;
iPodplayer.volume=change;

Но у меня также есть ошибка с плавающей точкой ...


person Genevios    schedule 04.12.2013    source источник
comment
Ваш синтаксис вызова метода неверен. Я думаю, что вы новичок и дадите немного времени, чтобы изучить основы,   -  person Anoop Vaidya    schedule 04.12.2013
comment
@AnoopVaidya: Поскольку он задает базовый вопрос, в настоящее время он изучает основы. Не демотивируйте его.   -  person DarkDust    schedule 04.12.2013
comment
@DarkDust: Да, я знаю, так как мы можем увидеть несколько других синтаксических ошибок и опечаток. Вот почему я прокомментировал. И мне очень жаль, если мои комментарии его обидят.   -  person Anoop Vaidya    schedule 04.12.2013


Ответы (1)


Вам нужно сделать:

myplayer.volume = volumeSlider.floatValue;

Свойству volume в AVPlayer требуется число с плавающей запятой, однако в первом примере вы пытались присвоить ему значение типа id, а во втором - значение типа NSString. Кстати, выражение change = @"%@", 1; не делает то, что вы думаете: оно присваивает строку %@ (на самом деле знак процента и знак «at»), затем оценивает число 1 и просто игнорирует его.

person DarkDust    schedule 04.12.2013
comment
Теперь ваши ответы объясняют, следовательно, +1. - person Anoop Vaidya; 04.12.2013