หน้า: [1] 2
 
ผู้เขียน หัวข้อ: เกี่ยวกับ seekbar ช่วยหน่อยนะครับ  (อ่าน 11307 ครั้ง)
0 สมาชิก และ 1 ขาจร กำลังดูหัวข้อนี้
คือ ผมจะทำ music player สักตัว เล่นเฉพาะไฟล์ audio(mp3,wma) ตอนนี้เพิ่งเริ่มต้น

ทำได้แค่ ปุ่ม play / pause เองครับ

แต่ไม่ว่า จะไปหาข้อมูลที่ไหน ๆ ก็ไม่มีที่เกี่ยวกับ seekbar เลย

ผมยังจับต้น ชนปลายไม่ถูกเลย ไม่รู้จะเริ่มต้นที่ตรงไหนอ่ะครับ

ใครทำเป็น ช่วยแนะนำด้วยนะครับ ขอบคุณล่วงหน้าครับ
บันทึกการเข้า

กำลังทำ music player อยูครับ
last update :
•play/puase fuction
•progress bar (seekbar cannot seek)
•valume bar
จะรับตัวนี้ไปพิจารณาไหมครับ ฮิ้ววว
แนบมาแล้วนะครับ ลองโหลดไปแกะดู เจ๋ง

(แก้เพลงที่จะเล่นที่ไฟล์ text นะครับ)
บันทึกการเข้า

เกย์ออก แหมๆ จานก่อ
บันทึกการเข้า
ขอเบิ้ลหน่อยนะครับ จะได้อ่านง่ายๆ หน่อย
 ไอ้มืดหมี พี่แอนตัดหน้าพอดี ค่อยยังชั่ว..

ถ้าจะให้แนะนำว่าเริ่มตรงไหน ตรงนี้ครับ
- onPress
- คำนวณเปอร์เซ็นต์จากตำแหน่งที่เมาส์กำลังคลิกอยู่ที่ seekbar
- เอาไปเทียบกับความยาวเพลง

เช่น สมมติว่าคลิกที่ตรงกลางของ seekbar ก็จะคำนวณได้ 50 เปอร์เซ็นต์..
ก็เอา 50 เปอร์เซ็นต์ * ความยาวเพลง = ตำแหน่งตรงกลางเพลง

โค้ด:
seekBar.onPress = function(){
  var positionPercentage = this._xmouse/this._width;
  sound.stop();
  sound.start( sound.duration * positionPercentage / 1000 ); //หาร 1000 เพื่อแปลง milliseconds เป็น seconds ครับ
}

คร่าวๆ ก็ประมาณนี้ครับ


เกย์ออก แหมๆ จานก่อ
ไอ้มืดหมี อะไรพี่.. ไฟล์เก่าแก่อะครับ เขียนไว้ 2-3 ปีแล่ว
« แก้ไขครั้งสุดท้าย: 17 พ.ค. 2009, 19:16 น. โดย ☼ ก่อสตูดีอวย ☼ » บันทึกการเข้า

ขอโหลดไปศึกษาดูก่อนนะครับ  อ๊าง~ (แจ๋ว แจ๋ว)
บันทึกการเข้า

กำ - -" แฟลชไม่ขึ้นซะงั้น

/* ลืมบอกไป ผมโพล่มาเล่นแฟลช ก็ as3 เลยครับ

as2 งง มากมาย -.-
« แก้ไขครั้งสุดท้าย: 18 พ.ค. 2009, 13:13 น. โดย phaishow » บันทึกการเข้า

กำลังทำ music player อยูครับ
last update :
•play/puase fuction
•progress bar (seekbar cannot seek)
•valume bar
อ๋อ งั้นยิ่งง่ายครับ เพราะช่วงนี้ผมก็จับแต่ 3 ไม่ได้เล่น 2 เลย กร๊าก
งั้นเอาตัวอย่าง 3 ไปดูนะครับ

http://files.korstudioxd.com/musicplayer_v2.52.rar

เสร็จแล้วให้ดูในโฟลเดอร์ lib\FLAMP.as
แล้วหาฟังก์ชั่นชื่อ SelectTime ครับ หน้าตาแบบนี้

โค้ด:
public function SelectTime(time:Number):void {
if (PlayStatus > 0) {
target.sc.stop();
trace(target.s.length);
target.sc = target.s.play(time);
target.sc.soundTransform = s_transform;
target.sc.addEventListener(Event.SOUND_COMPLETE, target.onSoundCompleted);
if (PlayStatus == 2) {
Pause(target.sc);
}
}
}

แล้วก็มันจะมีการ addEventListener ให้กับตัว Seek bar ที่ไฟล์ lib\ButtonListeners.as ครับ
(ตอนนั้นผม OOP ห่วยแตกมาก)
หาดูฟังก์ชั่นนี้ครับ SK_doProgress

โค้ด:
function SK_doProgress(e:MouseEvent) {
if (e.buttonDown) {
var position:Number = e.target.mouseX*_root.root.s.length/e.target.width;
_root.SelectTime(position); //_root เป็นตัวแปรที่ผมตั้งขึ้น เก็บที่อยู่ของ stage ไว้
}
}

ฟังก์ชั่นนี้จะเป็น listener ให้กับ seek bar ครับ เมื่อมีการกดลงไปที่ seek bar (รวมถึงกดค้างแล้วถูไป-มา)
มันก็จะตำแหน่งปัจจุบัน (position) ว่าเพลงควรเริ่มเล่นที่ตำแหน่งไหน
ก็คือ หาค่าเปอร์เซ็นต์ครับ สังเกตว่าจะมี  e.target.mouseX/e.target.width ตัวนี้จะได้เป็นค่าทศนิยมระหว่าง 0 ถึง 1
มันคือค่าอัตราส่วนครับ
จากนั้นก็เอาไปคูณกับความยาวเพลง _root.root.s.length (ตัวแปร s อยู่ที่ root ของ stage) ก็จะได้
ตำแหน่งของเพลงที่ต้องเล่นในเวลาที่คลิกครับ

แล้วมันก็จะส่งค่าที่คำนวณได้ ไปที่ฟังก์ชั่น SelectTime เพื่อสั่งให้เสียงเล่นอีกที
บันทึกการเข้า

ตามมาศึกษาด้วยคนครับ  หยี
บันทึกการเข้า

....(= - =")..   .3dsMax  .  ..(๐ Q")<<<<<..
(รวมถึงกดค้างแล้วถูไป-มา)  หื่น คำอธิบายแบบนี้ ได้อารมณ์มากจานก่อ  กร๊าก
บันทึกการเข้า

-.-

ขอบคุณมาก ๆ ครับ  หื่น

ว่าแต่..

โฟลเดอร์ lib มันหนีไปไหนแล้วอ่าครับ  ง่ะ

ผมหาไม่เจอ  งง
บันทึกการเข้า

กำลังทำ music player อยูครับ
last update :
•play/puase fuction
•progress bar (seekbar cannot seek)
•valume bar
นั่นสิ ผมก็หาไม่เจอ  หมีโหด~
บันทึกการเข้า

 อู้ย.. อ้าว ไม่อยู่ในนั้นเหรอครับ
เอ่อ ผมอัพใหม่ละครับ กดที่ลิงค์เดิมได้เลยครับ

 ฮือๆ~ ขอโทษครับ แง
บันทึกการเข้า

คือ ผมลอง debug ดูแล้ว มัน error ครับ

1087: Syntax error: extra characters found after end of program.

on (release) {


ปล. หรือผมต้องแก้ไขอะไรเพิ่มเติมก่อน..
ปล2. ผม debug ไฟล์ musicplayer_v2.52.fla เลยครับ
บันทึกการเข้า

กำลังทำ music player อยูครับ
last update :
•play/puase fuction
•progress bar (seekbar cannot seek)
•valume bar
 อู้ย.. เอ๊ะ มาได้ไงอะ อันนั้นมัน ActionScript 2 อะครับ ผมเปิดดูก็คอมไพล์ได้นะครับ ไม่เจอเลย
 ฮือๆ~ อะไรกันนี่
บันทึกการเข้า

แบบนี้อ่ะท่าน  มึนตึ้บ

บันทึกการเข้า

กำลังทำ music player อยูครับ
last update :
•play/puase fuction
•progress bar (seekbar cannot seek)
•valume bar
หน้า: [1] 2
 
 
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2007, Simple Machines | Thai language by ThaiSMF Valid XHTML 1.0! Valid CSS!