Parsi Coders
کنترل صدا - نسخه قابل چاپ

+- Parsi Coders (http://parsicoders.com)
+-- انجمن: Software Development Programming (http://parsicoders.com/forumdisplay.php?fid=37)
+--- انجمن: Visual Basic Programming (http://parsicoders.com/forumdisplay.php?fid=39)
+---- انجمن: Visual Basic 6 (http://parsicoders.com/forumdisplay.php?fid=44)
+---- موضوع: کنترل صدا (/showthread.php?tid=3720)



کنترل صدا - aghamali - 11-01-2014

سلام
یه کد میخوام که باهاش صدای خروجی سیستم رو کم و زیاد کنم همین


RE: کنترل صدا - Amin_Mansouri - 11-01-2014

کد:
Sub Form_Load ()
  Dim x As Integer
  Dim BothVolumes As Long

' Note that the waveid is 0 indicating the first wave output device.
' If you were to play multiple wavefiles on multiple wave output devices
' you would use 1 for the second wave output device, 2 for the third and
' so on.
' This code will retrieve the current volume setting

  x = waveOutGetVolume(0, BothVolumes)

  ' This code isolates the low-order word.
  ' Note that the value &HFFFF& is a Long Integer, which is the same
  ' as 0000FFFF, but because Visual Basic would automatically
  ' truncate this to FFFF, you must force the logical operation to use
  ' a four-byte Long Integer (0000FFFF) rather than a two-byte Integer
  ' (FFFF). This is accomplished by using the type casting
  ' character (&).
  CurrentVolLeft = BothVolumes And &HFFFF&

  ' This code isolates the high-order word.
  ' Enter the following two lines as one, single line:
  CurrentVolRight = ((BothVolumes And &HFFFF0000) / &H10000)
    And &HFFFF&

  LeftVol.Caption = Hex$(CurrentVolLeft)   ' Update the label with the
  RightVol.Caption = Hex$(CurrentVolRight) ' current volume settings.
End Sub

Sub PlaySound_Click ()
  Dim x As Integer
  Dim wFlags As Integer
  Dim SoundName As String
  SoundName = "C:\WINDOWS\MSREMIND.WAV"    ' Pick any wave file.
  wFlags = SND_ASYNC Or SND_NODEFAULT
  x = sndPlaySound(SoundName$, wFlags%)    ' Play the wave file.
End Sub

Sub LeftUp_Click ()
  ' Increase the left sound channel setting:
  Dim x As Integer
  CurrentVolLeft = CurrentVolLeft + &H1000&
  ' Prevent the channel setting from exceeding the maximum limit:
  If CurrentVolLeft > &HFFFF& Then CurrentVolLeft = &HFFFF&
  LeftVol.Caption = Format$(Hex$(CurrentVolLeft))
  ' Enter the following two lines as one, single line:
  x = waveoutSetVolume(0, CInt("&H" + Hex$(CurrentVolRight)),
     CInt("&H" + Hex$(CurrentVolLeft)))
End Sub

Sub LeftDown_Click ()
  ' Decrease the left sound channel setting:
  Dim x As Integer
  CurrentVolLeft = CurrentVolLeft - &H1000&
  ' Prevent the channel setting from dropping below the minimum limit:
  If CurrentVolLeft < &H0& Then CurrentVolLeft = &H0&
  LeftVol.Caption = Hex$(CurrentVolLeft)
  ' Enter the following two lines as one, single line:
  x = waveoutSetVolume(0, CInt("&H" + Hex$(CurrentVolRight)),
     CInt("&H" + Hex$(CurrentVolLeft)))
End Sub

Sub RightUp_Click ()
  ' Increase the right sound channel setting:
  Dim x As Integer
  CurrentVolRight = CurrentVolRight + &H1000&
  ' Prevent the channel setting from exceeding the maximum limit.
  If CurrentVolRight > &HFFFF& Then CurrentVolRight = &HFFFF&
  RightVol.Caption = Hex$(CurrentVolRight)
  ' Enter the following two lines as one, single line:
  x = waveoutSetVolume(0, CInt("&H" + Hex$(CurrentVolRight)),
     CInt("&H" + Hex$(CurrentVolLeft)))
End Sub

Sub RightDown_Click ()
  ' Decrease the right sound channel setting:
  Dim x As Integer
  CurrentVolRight = CurrentVolRight - &H1000&
  ' Prevent the channel setting from dropping below the minimum limit:
  If CurrentVolRight < 0 Then CurrentVolRight = 0
  RightVol.Caption = Hex$(CurrentVolRight)
  ' Enter the following two lines as one, single line:
  x = waveoutSetVolume(0, CInt("&H" + Hex$(CurrentVolRight)),
     CInt("&H" + Hex$(CurrentVolLeft)))
End Sub



RE: کنترل صدا - aghamali - 11-02-2014

سلام
داداش ممنون از کدت اما موقعی که وارد پروژه کردم مشکل داره
نگاه به عکسها بنداز ببین میدونی چیه ؟



[عکس: Untitled.png]


[عکس: Untitled2.png]



RE: کنترل صدا - Amin_Mansouri - 11-02-2014

یه سری api داره تست کردم متاسفانه تو وین 8.1 جواب نمیده
این 2 تایپک رو ببین
http://www.devx.com/vb2themax/Tip/19040

http://www.ex-designz.net/apidetail.asp?api_id=530

ببین جوابتو میده ؟


RE: کنترل صدا - aghamali - 11-02-2014

ممنوم دادا اما هیچ با هیچ کدوم نتونستم کار کنم