PlaySound()를 사용하여 .wav 파일을 재생하는 방법은 무엇입니까? 나는 PlaySound (사운드)를 가지고 있지만 "옵션이 아닌 인수"오류가 계속 발생합니다.VB6에서 PlaySound()로 사운드를 재생하는 방법
어떻게 소리를 멈추게합니까?
PlaySound()를 사용하여 .wav 파일을 재생하는 방법은 무엇입니까? 나는 PlaySound (사운드)를 가지고 있지만 "옵션이 아닌 인수"오류가 계속 발생합니다.VB6에서 PlaySound()로 사운드를 재생하는 방법
어떻게 소리를 멈추게합니까?
질문에 코드를 표시하지 않으므로 잘못된 점을 추측해야합니다.
첫째, PlaySound
기능이 제대로 VB 6 코드에 선언 할 필요가 :
Public Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" _
(ByVal lpszName As String, _
ByVal hModule As Long, _
ByVal dwFlags As Long) As Long
그리고 당신은 API 뷰어 응용 프로그램을 사용하여 쉽게 찾을 수있는 몇 가지 상수가 필요합니다. 당신은 그 매직 넘버 각각 또는 수행의 의미를 배울 수 the SDK documentation를 참조해야합니다
Private Const SND_APPLICATION As Long = &H80
Private Const SND_ALIAS As Long = &H10000
Private Const SND_ALIAS_ID As Long = &H110000
Private Const SND_ASYNC As Long = &H1
Private Const SND_FILENAME As Long = &H20000
Private Const SND_LOOP As Long = &H8
Private Const SND_MEMORY As Long = &H4
Private Const SND_NODEFAULT As Long = &H2
Private Const SND_NOSTOP As Long = &H10
Private Const SND_NOWAIT As Long = &H2000
Private Const SND_PURGE As Long = &H40
Private Const SND_RESOURCE As Long = &H40004
Private Const SND_SYNC As Long = &H0
: 여기에 내가 VB 6가 설치되어 있지 않기 때문에 웹을 뽑아 목록입니다. 거기에있는 동안 함수의 매개 변수의 의미를 읽어야합니다. 오류가 발생하면 함수를 잘못 호출하는 것처럼 들립니다. 특히 세 가지 인수 중 하나를 생략하고 모두 필요합니다 (예 : Optional
으로 표시되지 않음).
재생할 사운드의 종류 나 사운드 파일의 위치를 알 수 없으므로 상황을 완벽하게 캡처하는 예제를 제공 할 수 없습니다. 그러나 디스크의 파일에서 사운드를 재생하려면 사운드 파일의 전체 경로를 첫 번째 인수로 전달하고, 두 번째 인수는 0으로 설정하고 (리소스에서 사운드를로드하지 않기 때문에) SND_FILENAME
세 번째 주장.
PlaySound "X:\Sounds\trumpet.wav", 0, SND_FILENAME
SND_ASYNC
플래그를 추가하여 비동기 적으로 사운드를 재생할 수도 있습니다. 즉, 함수가 즉시 반환되고 나머지 코드가 실행되는 동안 사운드가 백그라운드에서 재생되도록 허용합니다. 이는 기본 동작 대신 SND_SYNC
플래그로 명시 적으로 수행됩니다.
플래그를 추가하여 중지 할 때까지 소리가 반복 재생되게 할 수 있습니다. 당연히 이는 또한 SND_ASYNC
플래그가 필요합니다.
PlaySound "X:\Sounds\trumpet.wav", 0, SND_FILENAME Or SND_ASYNC Or SND_LOOP
는 당신이 필요로하지 않기 때문에 당신이 (첫 번째 인수에 대해 널 (null) 문자열을 전달, 재생의 사운드를 중지하려면 :
모두 함께, 우리는 지속적으로 루프와 비동기 적으로 재생되는 사운드를 얻을 퍼팅 당신은 어떤 특별한 행동을 필요로하지 않기 때문에) (세 번째 인수를위한 재생 소리), 0 다시 두 번째 인수, 0을 지정합니다 : 당신이 통과하는 경우
PlaySound vbNullString, 0, 0
을 물론,이에만 작동합니다 처음 재생을 시작했을 때 SND_ASYNC
깃발 소리. 그렇지 않으면 사운드가 이미 재생을 마칠 때까지 컨트롤이 코드로 돌아 가지 않습니다. 그러면 아무 것도 멈출 수 없습니다!
PlaySound()로 두 줄에 구문 오류가 표시됩니다. –
코드를 게시하십시오. 그러나'선택의 여지가없는 주장'은 언제나 말하고있는 그대로이다. –