Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 02:09

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Per Slider Musikstelle ändern

Discussion on Per Slider Musikstelle ändern within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
Sura1506's Avatar
 
elite*gold: 1
Join Date: Dec 2007
Posts: 645
Received Thanks: 92
Per Slider Musikstelle ändern

Hallo liebe Community,
ich habe mal wieder ein Problem:
Ich habe mir ein kleines GUI gebastelt mit dem ich .mp3 dateien abspielen kann.
Nun habe ich einen Slider eingebaut um den aktuellen Soundstatus abzufragen. Nur weis ich jetzt nicht so genau wie ich per Slider zur gewünschten stelle im Song switchen kann. Hier sind ein paar Auszüge:

Code:
Global $h_sound
Global $max_sec
$Slider2 = GUICtrlCreateSlider(0, 108, 300, 25)
GUICtrlSetData($Slider2,0)

		Case $fileitem ;==> Open
			$f_open = FileOpenDialog("Select Audio File", "D:\Musik\", "(*.mp3)")
			If Not @error Then
				_SoundClose($h_sound)
				$h_sound = _SoundOpen($f_open)
				$max_sec = _SoundLength($h_sound, 2) * 1000
				_SoundPlay($h_sound)
				WinSetTitle($Form1, "", GetFile($f_open))
				AdlibRegister("ShowSeek", 250)
				AdlibRegister("GetVol", 150)
				AdlibRegister("Status", 0)
				AdlibRegister("Setpos",0)
			EndIf


Func Status()
	$pos_sec = _SoundPos($h_sound, 2) * 1000
	$set = $pos_sec / $max_sec * 100
	GUICtrlSetData($Slider2, $set)
EndFunc
Func Setpos()
;~ 	$pos_sec = _SoundPos($h_sound, 2) * 1000
;~ 	$chooseset = $Slider2 /$max_sec * 100
	$chooseset = GUICtrlRead ($Slider2)
;~ 	$set = $pos_sec / $max_sec * 100
	_SoundSeek($h_sound,1,1,$chooseset)
EndFunc
Bei der Func Setpos() seht ihr schon einge versuche, jedoch springt der slider beim veränden immer zur ausgangslage und nichts passiert.

Lg
Sura1506 is offline  
Old 11/21/2011, 23:30   #2
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
hier mal ein einfach zu verstehender beispielcode der zeigt wie man es anstellen könnte:
Code:
#include <Sound.au3>

$sound = _SoundOpen("z:\Musik\Acapella\20 Fingers - Lick It.mp3")
_SoundPlay($sound, 0)

GUICreate('blubb', 300, 50)
$slider = GUICtrlCreateSlider(10, 10, 280, 20)
For $i=0 To 10
	GUICtrlCreateLabel($i*10&'%', 15 + 25.5*$i, 30, 25)
Next
GUISetState()

While 1
	$length = _SoundLength($sound,2)
    Switch GUIGetMsg()
		Case -3
			_SoundClose($sound)
			ExitLoop
		Case $slider
			$time = msFormat((GUICtrlRead($slider)/100)*$length)
			_SoundSeek($sound, $time[0], $time[1], $time[2])
			_Soundplay($sound)
		Case Else
			;GUICtrlSetData($slider, _SoundPos($sound,2)/$length*100)
	EndSwitch
WEnd

Func msFormat($ms)
	Local $tmp[3]
	$tmp[0] = Int($ms/3600000)
	$tmp[1] = Int(($ms-($tmp[0]*3600000))/60000)
	$tmp[2] = Int(($ms-$tmp[0]*3600000-$tmp[1]*60000)/1000)
	Return $tmp
EndFunc
habe mal das autoupdate der aktuellen position auskommentiert.

wenn man es einschaltet, bekommt man ein problem, da der slider während man ihn eig einstellen möchte immer an die aktuelle position wandert.

willst du einen slider nutzen zum wandern zu einer position, und zum darstellen der aktuellen position, musst du an der stelle wohl oder übel etwas tricksen.
die wohl einfachste möglichkeit die mir hier einfällt, wäre zu checken, was die maus gerade so treibt.

hier deinen weg zu finden überlasse ich ersteinmal dir.
solltest du probleme damit haben, kannst du dich ja nochmal melden =)

edit:
falls du zu faul zum selbst denken sein solltest, hier mal eine mögliche lösung des angesprochenen problems:
lolkop is offline  
Thanks
1 User
Old 11/22/2011, 11:43   #3
 
Sura1506's Avatar
 
elite*gold: 1
Join Date: Dec 2007
Posts: 645
Received Thanks: 92
Vielen dank, hat alles geklappt.

Thread kann geschlossen werden =)

Lg
Sura1506 is offline  
Reply


Similar Threads Similar Threads
[JQuery, VB.net, Autoit] Der Iphone Slider
09/01/2011 - Coding Releases - 7 Replies
Joah nach n paar Tagen "basteln" präsentiere ich euch mal wieder nen neuen Release: Der Iphone Slider umgesetzt in 3 Sprachen für mehr Kompatibilität! Uhm jop... Viel erklären kann ich nicht aber ein paar Worte dazu: Die VB.net Version läuft am stabilsten, der Slide-Sub kommt Ursprünglich von TheHackerZero, jedoch ist das ding nichmehr zurückgeslidet und der Sound hat genervt, also hab ich den Ton rausgeschmissen und ne Slide-Back Sub dazugeschrieben, also gibts auch bissel Credits an...
[Homepage] Images Slider
04/12/2011 - Flyff Private Server - 4 Replies
Willkommen auf meinem ersten richtigen Tut. Hier wird genau erklärt wie ihr einen "Slider" in eurer Homepage einbaut. Das ist eine Box wo Bidler gezeigt werden. (Je 10 Sekunden wechseln sie sich.) Das gibt es auch in der Elitepvpers Startseite. Viel spass! 1. Neue Javasript Datei namens "slider.js" erstellen 2. Js Datei öffnen und folgendes reinschreiben $(".image_reel").css({'width' : imageReelWidth});



All times are GMT +2. The time now is 02:09.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.