![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Каждому tmediaplayer-у своя громкость [D7, WinXP]
Petrush © (2004-09-02 11:09:00)У меня в проекте используется два tmediaplayer. Так вот - появилась задача: нужно чтобы один из них играл в два раза тише чем второй.Вопрос: как это сделать?
nasty (2004-09-03 17:34:00) [1]to Petrush
ну можно было предположить, что число кратно степени 2-ки...
mci уже давно не пользовался, не все современные кодеки могут работать с mci (например, некоторые видео в n раз быстрее проигрывают).
еще некоторые неприятности возникают:
а при паузе изображение на tmediaplayer можно стирать другими окошками. чтобы обойти это я свой подобный плеер писал на командах mcisendstring, могу прислать.
Petrush (2004-09-03 16:28:00) [2]то nasty
Токо что сам нашел от 0 до 255 дБ
http://public.uic.rsu.ru/~skritski/scourses/WebTutor/MCI/mcivideo.html#Setaudio
Читай, там написано. Теперь то ясно почему при значении 200 оно играет на 80% ;)
nasty (2004-09-03 15:19:00) [3]по-моему 1000. я тоже выбирал опытным путем.
в msdn не описано максимально возможное значение громкости.
Petrush (2004-09-03 15:03:00) [4]У меня подозрение, что диапазон от 0 до 1000,
но тогда логично думать, что когда ставим в 200 то получаем громкость равную 20%. Но на слух там побольше 20%. В чем прикол?
Petrush (2004-09-03 14:49:00) [5]Еще вопрос.
Сделал - все получилось, вот только одного не пойму. Я на глаз ( точнее на ухо :) )выставил величину в setaudio
mciSendstring(Pchar('setaudio "' + Form1.MediaPlayer2.FileName + '" volume to ' + IntToStr(200)), nil, 0, 0);
Как видно поставил ее равной 200 (получилось тише чем у другого tmediaplayer-а, кот. я вообще ничего не выставлял по громкости), мне подошел уровень громкости, но для себя я так и не уяснил, что это за уровень и в каких пределах он должен лежать.
Petrush (2004-09-02 15:32:00) [6]to nasty
Все, сделал.
Спасибо.
nasty (2004-09-02 14:08:00) [7]примерно так:
mciSendString(
PAnsiChar(
Format('setaudio C:\test.mp3 volume to %d',
[TrackBar1.Position])), nil, 0, 0);
но с длинными именами файлов проблемы могут быть, поэтому алиасы лучше использовать.
а вообще tmediaplayer устарел давно. лучше использовать BASS.DLL
Petrush (2004-09-02 13:14:00) [8]to nasty
а пример можно?
nasty (2004-09-02 11:47:00) [9]ф-ция mcisendstring, команда setaudio