2012-12-05 3 views
1

내가 해보 전체 사운드 볼륨이 아닌 http://delphi.about.com/od/adptips2006/qt/mediaplayer_vol.htm델파이에서 최대 볼륨 레벨을 얻는 방법은 무엇입니까?

하지만 1000으로 MediaPlayer를 사운드 볼륨을 설정합니다. 최대 볼륨 레벨을 얻는 방법?

+0

당신은 윈도우 버전을 추가해야합니다 ... (나는 이것이 XP에서 작동해야한다고 생각합니다) – Whiler

+0

그리고 ur windows ??? 플레이어 내부 (사운드 포화) x1, 프로그램 볼륨 (Vista +) x2, 웨이브 아웃 (WaveOut) 채널의 전체 볼륨 (사운드 카드 드라이버가 어떻게 호출 할 것인가) x3과 같은 3 가지 볼륨 레벨 (또는 심지어 4 가지) 컴퓨터의 마스터 볼륨. 제품을 최대화하려면 각각의 coeff를 최대화해야합니다 (일부 노트북에서는 하드웨어가 손상 될 수 있음). 또한 VfW/MCI는 ** 고대 ** API - 1993입니다! BASS 라이브러리 또는 DSPack과 같은 다른 음악 플레이어 사용을 고려하십시오. –

+0

Btw MSDN에서 MCI_DGV_STATUS_VOLUME은 볼륨 평균을 왼쪽 및 오른쪽 스피커로 반환합니다 (http://msdn.microsoft.com/en-us/library/windows/desktop/dd798405). % 28v = vs.85 % 29.aspx) –

답변

4

MCI 인터페이스는 볼륨의 최대 값을 지정하지 않습니다.

mciSendCommand API 함수는 주어진 매개 변수에 대해 인수을 필요로합니다. MCI에서 용어 요인은 1000 조정됩니다

500 = 0.5 // 50%, half the normal value 
1000 = 1.0 // 100%, normal value 
2000 = 2.0 // 200%, double the normal value 

(1000)가 100 % 볼륨, 모든 작은 값이 감쇠를 설정하는 것을 의미 귀하의 경우에는

을 (무슨 요인이 실제로 의미하는 것은 특정 API 기능에 따라 다름). 물론 MCI 인터페이스 뒤에있는 실제 오디오 드라이버는 증폭, 즉 1000보다 큰 값을 받아 들일 수 있습니다.

최대 값으로 1000을 사용하는 것이 안전한 선택입니다.

멀티미디어 응용 프로그램을 만들려는 경우 현재 인터페이스 또는 라이브러리를 신중하게 고려해야합니다. (개인적으로 나는 FMOD과 델파이와 좋은 경험을 가졌습니다)

관련 문제