Поиск сообщества
Показаны результаты для 'громкость'.
Найдено: 12 результатов
-
Доброго всем. Подскажите, как программно поменять громкость проигрываемой музыки в андроид (уменьшить, увеличить), либо вызвать системный регулятор громкости? Заранее благодарен.
-
По умолчанию в андроид приложении если попробовать изменить громкость, то поменяется громкость звонка, существует ли способ перенаправить изменение громкости на медиа? Попробовал решить эту проблему поставив на каждые 60 секунд с помощью таймера запись звука с тишиной, но есть небольшие помехи, да и я думаю это не самый лучший вариант
-
Вроде с BASS получаеться проигрывает нужный мне адрес: #include "bass.h" HSAMPLE smp; HSTREAM str; void __fastcall TForm1::Button1Click(TObject *Sender) { BASS_Init(-1, 44100, BASS_DEVICE_3D, 0, NULL); //Инициализация звукового потока str=BASS_StreamCreateURL(PAnsiChar("http://путь к нужной станции"), 0, 0, NULL,0); //Создаем поток str. BASS_ChannelPlay(str, False); //Воспроизвести наше звуковой поток str } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { BASS_ChannelStop(str); //Остановка BASS_SampleFree (smp); //Чистим ресурс } //--------------------------------------------------------------------------- Пока пробую с Windows, но у BASS и для Андроида есть файлы... Пока не разобралась как с помощью TrackBar менять громкость.
-
Пользуйтесь поиском! (всех касается) Результаты для 'громкость'. Темы: Медиа громкость Определение положение ползунка громкости
-
Вообще да, нужно после каждого открытия файла ставить в 0 громкость. Плеер берёт из файла максимальную громкость. MediaPlayer1.FileName:=file_; MediaPlayer1.Volume :=0; MediaPlayer1.Play;
- 6 ответов
-
- tmdeiaplayer
- volume
-
(и ещё 1 )
C тегом:
-
Не нужно каждый раз делать новый генератор. Выносим в форму ToneGenerator: JToneGenerator; procedure TForm1.FormShow(Sender: TObject); begin inherited; {$IFDEF ANDROID} ToneGenerator:=nil; {$ENDIF} end; procedure TForm1.beep; var Volume: Integer; StreamType: Integer; ToneType: Integer; begin {$IFDEF ANDROID} if not assigned(ToneGenerator) then begin Volume := TJToneGenerator.JavaClass.MAX_VOLUME; // задаем громкость StreamType := TJAudioManager.JavaClass.STREAM_NOTIFICATION; ToneType := TJToneGenerator.JavaClass.TONE_CDMA_SOFT_ERROR_LITE; // тип звука ToneGenerator := TJToneGenerator.JavaClass.init(StreamType, Volume); end; ToneGenerator.startTone(ToneType,1000); {$ENDIF} end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; {$IFDEF ANDROID} if assigned(ToneGenerator) then ToneGenerator.release; {$ENDIF} end;
-
Приведённый здесь пример почему-то не обрезает выбираемые варианты звуков по длительности ADuration. uses AndroidApi.JNI.Media; procedure MakeSound(ADuration: Integer); var Volume: Integer; StreamType: Integer; ToneType: Integer; ToneGenerator: JToneGenerator; begin Volume := TJToneGenerator.JavaClass.MAX_VOLUME; // задаем громкость StreamType := TJAudioManager.JavaClass.STREAM_ALARM; ToneType := TJToneGenerator.JavaClass.TONE_DTMF_0; // тип звука ToneGenerator := TJToneGenerator.JavaClass.init(StreamType, Volume); ToneGenerator.startTone(ToneType, ADuration); end; Задаваемая длительность может только увеличить время воспроизведения, но не может уменьшить. Может есть какие-нибудь способы обрезать воспроизводимое?
-
Если нужно именно установить громкость, то вот нашел у себя пример из FMXPlatformRadio: procedure TFMXPlatformRadio.SetVolume(const AValue:Single); var AudioManager: JAudioManager; begin AudioManager := TJAudioManager.Wrap(MainActivity.getSystemService(TJContext.JavaClass.AUDIO_SERVICE)); AudioManager.setStreamVolume(TJAudioManager.JavaClass.STREAM_MUSIC, Round(AudioManager.getStreamMaxVolume(TJAudioManager.JavaClass.STREAM_MUSIC) * AValue), 0); end;
-
На IOS есть баг один с воспроизведением звука... Первое воспроизведение звука происходит с треском (через TMediaPlayer) Самое простое найти аудио-файл и задеплоить его в проект, при инициализации формы, проиграть звук с 0 громкостью, после восстановить громкость на полную и тогда звук будет чистый
-
ZyBy Хорошо, спасибо за пояснение. Дело в том, что я хотел в будущем всю звуковую подсистемы вынести в отдельный поток. P.S. Не могу понять в чем дело. Скаченный пример с GitHub - FMX.Radio - успешно компилируется под Android, только один Warning выдает. Мой же тестовый пример - под Windows работает идеально (я даже некий оргазм испытал, голова по поводу звука болела больше всего - а тут, как я уже говорил - то что нужно. Работа с несколькими аудиопотоками (в том числе и из TMemoryStream) и разная громкость каждого). А под Android не хочет компилироваться. Checking project dependencies... Building libBASStest.dproj (Debug, Android) brcc32 command line for "libBASStest.vrc" c:\program files (x86)\embarcadero\studio\18.0\bin\cgrc.exe -c65001 "libBASStest.vrc" -folibBASStest.res dccaarm command line for "libBASStest.dpr" c:\program files (x86)\embarcadero\studio\18.0\bin\dccaarm.exe -$O- --no-config -B -Q -TX.so -AGenerics.Collections=System.Generics.Collections; Generics.Defaults=System.Generics.Defaults;WinTypes=Winapi.Windows;WinProcs=Winapi.Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE -DDEBUG -E.\develop\bin\Android\Debug -I"c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug";"c:\program files (x86)\embarcadero\studio\18.0\lib\Android\Release" -LEC:\Users\Public\Documents\Embarcadero\Studio\18.0\Bpl\Android -LNC:\Users\Public\Documents\Embarcadero\Studio\18.0\Dcp\Android -NU.\develop\dcu\Android\Debug -NSSystem;Xml;Data;Datasnap;Web;Soap; -O"c:\program files (x86)\embarcadero\studio\18.0\lib\Android\Release" -R"c:\program files (x86)\embarcadero\studio\18.0\lib\Android\Release" -U"c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug";"c:\program files (x86)\embarcadero\studio\18.0\lib\Android\Release" --libpath:E:\_PlatformSDKs\android-ndk-r9c\sources\cxx-stl\gnu-libstdc++\4.8\libs\armeabi-v7a; E:\_PlatformSDKs\android-ndk-r9c\platforms\android-14\arch-arm\usr\lib --linker:E:\_PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.8\prebuilt\windows\bin\arm-linux-androideabi-ld.exe -V -VN -NO.\develop\dcu\Android\Debug libBASStest.dpr [DCC Error] E2597 E:\_PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.8\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: error: cannot find -lbass C:\Users\Яков\Documents\Embarcadero\Studio\Projects\BassDLLTest\develop\dcu\Android\Debug\BASS.o:BASS:function Bass::BASS_ErrorGetCode(): error: undefined reference to 'BASS_ErrorGetCode' C:\Users\Яков\Documents\Embarcadero\Studio\Projects\BassDLLTest\develop\dcu\Android\Debug\BASS.o:BASS:function Bass::BASS_Init(int, unsigned int, unsigned int, void*, void*): error: undefined reference to 'BASS_Init' C:\Users\Яков\Documents\Embarcadero\Studio\Projects\BassDLLTest\develop\dcu\Android\Debug\BASS.o:BASS:function Bass::BASS_Free(): error: undefined reference to 'BASS_Free' C:\Users\Яков\Documents\Embarcadero\Studio\Projects\BassDLLTest\develop\dcu\Android\Debug\BASS.o:BASS:function Bass::BASS_StreamCreateFile(int, void*, long long, long long, unsigned int): error: undefined reference to 'BASS_StreamCreateFile' C:\Users\Яков\Documents\Embarcadero\Studio\Projects\BassDLLTest\develop\dcu\Android\Debug\BASS.o:BASS:function Bass::BASS_ChannelPlay(unsigned int, int): error: undefined reference to 'BASS_ChannelPlay' C:\Users\Яков\Documents\Embarcadero\Studio\Projects\BassDLLTest\develop\dcu\Android\Debug\BASS.o:BASS:function Bass::BASS_ChannelStop(unsigned int): error: undefined reference to 'BASS_ChannelStop' C:\Users\Яков\Documents\Embarcadero\Studio\Projects\BassDLLTest\develop\dcu\Android\Debug\BASS.o:BASS:function Bass::BASS_ChannelPause(unsigned int): error: undefined reference to 'BASS_ChannelPause' C:\Users\Яков\Documents\Embarcadero\Studio\Projects\BassDLLTest\develop\dcu\Android\Debug\BASS.o:BASS:function Bass::BASS_ChannelSetAttribute(unsigned int, unsigned int, float): error: undefined reference to 'BASS_ChannelSetAttribute' C:\Users\Яков\Documents\Embarcadero\Studio\Projects\BassDLLTest\develop\dcu\Android\Debug\BASS.o:BASS:function Bass::BASS_ChannelGetAttribute(unsigned int, unsigned int, float&): error: undefined reference to 'BASS_ChannelGetAttribute' [DCC Fatal Error] F2588 Linker error code: 1 ($00000001) Failed Elapsed time: 00:00:21.4 Компилятор: Delphi 10.1 Berlin D.P.F Delphi Android Native Components: Установить не получилось. Так ли нужны ли они для работы BASS? Ведь, скажем, тот-же FMX.Radio я только собрал, а на устройстве - не проверял! В чем может быть проблема?
-
uses AndroidApi.JNI.Media; procedure MakeSound(ADuration: Integer); var Volume: Integer; StreamType: Integer; ToneType: Integer; ToneGenerator: JToneGenerator; begin Volume := TJToneGenerator.JavaClass.MAX_VOLUME; // задаем громкость StreamType := TJAudioManager.JavaClass.STREAM_ALARM; ToneType := TJToneGenerator.JavaClass.TONE_DTMF_0; // тип звука ToneGenerator := TJToneGenerator.JavaClass.init(StreamType, Volume); ToneGenerator.startTone(ToneType, ADuration); end; Типы звука можно посмотреть здесь
-
Если нажать на Pause, а потом на Play, то загрузка начинается с нуля А у вас получается регулировать громкость? в Windows