Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Problem z Sound.au3


Rekomendowane odpowiedzi

Opublikowano
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <SliderConstants.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
 #include <Sound.au3>
$muzyka = 1
$Playlista = ""
$muzykaodtwarzana = ""
$maxy = ""
#Region ### START Koda GUI section ### Form=
$Form1_1 = GUICreate("Odtwarzacz", 271, 211, 269, 173)
$Tab1 = GUICtrlCreateTab(0, 0, 265, 209)
$TabSheet1 = GUICtrlCreateTabItem("Menu")
GUICtrlSetState(-1,$GUI_SHOW)
$glosnosc = GUICtrlCreateSlider(4, 173, 249, 25)
$czas = GUICtrlCreateLabel("00:00:00/00:00:00", 76, 149, 93, 17)
$cofnij = GUICtrlCreateButton("<", 12, 149, 35, 25)
$nast = GUICtrlCreateButton(">", 206, 149, 35, 25)
$start = GUICtrlCreateButton("Start", 4, 115, 121, 25)
$stop = GUICtrlCreateButton("Stop", 132, 115, 121, 25)
$name = GUICtrlCreateLabel("Utwór : ???", 4, 29, 251, 17)
$stan = GUICtrlCreateLabel("Stan : OFF", 4, 53, 251, 17)
$TabSheet2 = GUICtrlCreateTabItem("Playlista")
$add = GUICtrlCreateButton("Dodaj", 180, 29, 75, 25)
$save = GUICtrlCreateButton("Zapisz listę", 180, 93, 73, 25)
$load = GUICtrlCreateButton("Wczytaj listę", 180, 61, 75, 25)
$lista = GUICtrlCreateEdit("", 4, 21, 161, 177)
GUICtrlSetData(-1, "Lista jest pusta...")
$nazwaini = GUICtrlCreateInput("Playlista", 184, 128, 65, 22)
GUICtrlCreateTabItem("")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
GUICtrlSetData ($glosnosc, "70")

While 1

	SoundSetWaveVolume(GUICtrlRead($glosnosc))

	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $load
		$Playlista = FileOpenDialog("Wybierz plik:", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", "(*.xzc)")
		GUICtrlSetData ($lista,FileRead ($Playlista))

		Case $start
			IF $Playlista = "" Then
				MsgBox (16,"Odtwarzacz","Nie wybrano playlisty!")
				Else
		GUICtrlSetData ($stan,"Stan : Odtwarzanie")
			$muzykaodtwarzana = _SoundPlay (FileReadLine ($playlista,$muzyka))
			$soundopen = _SoundOpen (FileReadLine ($playlista,$muzyka))
$maxy =  _SoundLength (FileReadLine ($playlista,$muzyka))
AdlibRegister ("_Timer",1000)
				EndIf
				Case $cofnij
			If $muzyka = 1 Then
				MsgBox (16,"Odtwarzacz","Nie mozna cofnąć!")
				Else
			$ehh = FileReadLine ($playlista,$muzyka)
			_SoundStop ($ehh)
			$muzyka = $muzyka - 1
		$muzykaodtwarzana = _SoundPlay (FileReadLine ($playlista,$muzyka))
		$maxy =  _SoundLength (FileReadLine ($playlista,$muzyka))
EndIf

		Case $stop
				GUICtrlSetData ($stan,"Stan : Stop")
			$ehh = FileReadLine ($playlista,$muzyka)
			_SoundStop ($ehh)


				Case $nast
						$ehh = FileReadLine ($playlista,$muzyka)
			_SoundStop ($ehh)
			$muzyka = $muzyka + 1
		$muzykaodtwarzana = _SoundPlay (FileReadLine ($playlista,$muzyka))
		$maxy =  _SoundLength (FileReadLine ($playlista,$muzyka))
;If @ = 3 Then MsgBox (16,"Odtwarzacz","Koniec playlisty")
		Case $add
			If GUICtrlRead ($lista) = "Lista jest pusta..." Then GUICtrlSetData ($lista,"")
			$dodaj = FileOpenDialog("Wybierz plik:", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", "(*.mp3)")
		$tekst = GUICtrlRead ($lista)
		If GUICtrlRead ($lista) = "" Then
			GUICtrlSetData ($lista,$dodaj)
			Else
		GUICtrlSetData($lista, $tekst & @CRLF & $dodaj)
			EndIf

		Case $save
$playlistnazwa = GUICtrlRead($nazwaini)
$zapis = FileSaveDialog ("Zapisz playlistę","::{20D04FE0-3AEA-1069-A2D8-08002B30309D}","(*.xzc)",0,$playlistnazwa)
			FileWrite ($zapis,GUICtrlRead ($lista))
			$playlista = $zapis


	EndSwitch
	WEnd


Func _Timer()
	$obec = _Soundpos (FileReadLine ($playlista,$muzyka))
	GUICtrlSetData ($czas,$obec & "/" & $maxy)
	EndFunc

Mam otóż taki problem - kiedy wybiorę Playlistę oraz kliknę start to wszystko działa. Jednak kiedy przewinę na 3 piosenkę odtwarzacz ma crash.

 

"C:\Program Files (x86)\AutoIt3\Include\Sound.au3" (261) : ==> Subscript used on non-accessible variable.:
__SoundMciSendString("set " & $aSndID[0] & " time format miliseconds")
__SoundMciSendString("set " & $aSndID^ ERROR
->16:58:45 AutoIt3.exe ended.rc:1

Kod jest mój pisany od zera. Miał być pracą na konkurs ale chyba nie zdążę ;D

 

Siedziałem nad tym trochę czasu i nie wiem co jest nie tak.

PS: Plik Sound.au3 jest oryginalny (nie był edytowany, taki sam jak od instalacji)

Pozdrawiam

Tysiące lat wojen, ani jednego dnia pokoju,

pytam czy to skończy się.

 

Zegarek BB

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...