-
Trackbar в с++ для аудио
Cтолкнулся с проблемой такого рода, не получается сделать чтобы track bar работал качественно по примерам с инета сделал все как пологается но результат только огорчил,то ползунок просто скачет в конец ,то звук пропадает.
1)Интерес настроен на то чтобы в с++ builder trackbar перематывал положение текущей аудио композиции.Может кто что подскажет?
2)Ребята сделал громкость но мне нужно чтобы она увеличивалась на 100% с шагом на 10,как это можно реализовать?
Заранее всем спасибо:)
-
>1)Интерес настроен на то чтобы в с++ builder trackbar перематывал положение текущей аудио композиции.Может кто что подскажет?
нихрена не понял... тебе надо скроллером перематывать аудио?
ну дык. формат аудио от знаешь?
расчёт WAVEFORMATEX-a для непожатого wav PCM
void common_func::calculate_waveformatex(unsigned int samplerate, unsigned char resolution, unsigned char channels, WAVEFORMATEX& wfx)
{
ZeroMemory(&wfx, sizeof(WAVEFORMATEX));
unsigned int nBytesPerSample = (resolution + 7) / 8;
wfx.wFormatTag = WAVE_FORMAT_PCM;
wfx.nChannels = channels;
wfx.wBitsPerSample = resolution;
wfx.nBlockAlign = (nBytesPerSample*wfx.nChannels);
wfx.nSamplesPerSec = samplerate;
wfx.nAvgBytesPerSec = wfx.nSamplesPerSec*wfx.nBlockAlign;
wfx.cbSize = 0;
}
nAvgBytesPerSec - колличество байт в сек.
зная длинну (аудиоданных) файла можно расчитать сколько нужно промотать на один тик скроллера
>2)Ребята сделал громкость но мне нужно чтобы она увеличивалась на 100% с шагом на 10,как это можно реализовать?
это как на 100% (от чего? %) с шагом на 10 - это про что?
p.s.
научитесь формулировать мысли ясно, если хотите такой же ответ.
-
тебе надо скроллером перематывать аудио?
не скроллером а при помощи компонента TrackBar и не *.wav,а *.mp3
>2.2
Ребята сделал громкость но мне нужно чтобы она увеличивалась на 100% с шагом на 10,как это можно реализовать?
это как на 100% (от чего? %) с шагом на 10 - это про что?
ЭТо про громкость по-русски,гучність-українською,volume-English elementari;
используя тот же компонент TrackBar отсчет от 0 и до 100 с шагом ползунка как я понял 10
-
-
С билдером не работал, но могу посоветовать воспользоваться оригинальным виндовым контроллом "msctls_trackbar32" (создать можно через апи функцию CreateWindowExA, к примеру). Билдеровский скорее его и юзает через саб-классинг. Обрабатываешь notify сообщения, которые он шлёт и там уже меняешь себе его позицию как хочешь. Почитай MSDN, там всё есть.
-
C TrackBar розобрался,кто что подскажет по поводу громкости,очень нуждаюсь в совете.
-
Я ж тебе уже сказал. Открой MSDN и посмотри какие сообщения принимает сам контрол и его родитель.
-
Cпасибо но я с моими поверхностными знаниями я немогу понять всю суть.
-
[URL="http://msdn.microsoft.com/en-us/library/bb760151(v=vs.85).aspx"]http://msdn.microsoft.com/en-us/library/bb760151(v=vs.85).aspx[/URL]
Должно помочь :)