![]() |
|
||||||||||
|
|||||
|
см. нижний пост (=
__________________
cdc7600.livejournal.com Последний раз редактировалось cdc7600; 15.05.2009 в 14:18. Причина: новые траблы) |
|
|||||
|
Повесьте loading() на событие Event.ENTER_FRAME, к примеру. Ваш код, по идее, должен еще и систему тормозить =)
__________________
Дело не в тебе |
|
|||||
|
он не хавал онЕнтерФрейм, пока всё в пэкэдж не запихнула) так что пока всё работает, но я буду задавать вопросы по мере их появления)) Сборник Рецептов — Рулит
![]() package { import flash.events.Event; import flash.display.MovieClip; import flash.display.Sprite; import flash.media.Sound; import flash.media.SoundChannel; import flash.net.URLRequest; import flash.events.MouseEvent; public class StartPlaying extends Sprite { private var _sound:Sound = new Sound; private var _soundChannel:SoundChannel = new SoundChannel; public var url:String = "http://cdc7600.sevmap.org.ua/Offspring%20-%20Americana%20-%20Walla%20Walla.mp3"; //public var url:String = "my_mp3.mp3"; public var request_sound:URLRequest = new URLRequest(url); public var resume_time:Number=0; public function StartPlaying():void { play_bt.addEventListener(MouseEvent.CLICK, onClickPlay); status_musik_bar.scaleX=0; progress_bar.scaleX=0; play_bt.visible=true; ramka_play.visible=false; ramka_loaded.visible=true; pause_bt.visible=false; _sound.load(request_sound); } public function onClickPlay(event:MouseEvent):void { addEventListener(Event.ENTER_FRAME,onEnterFrame); pause_bt.addEventListener(MouseEvent.CLICK, onClickPause); _soundChannel=_sound.play(resume_time); play_bt.visible=false; pause_bt.visible=true; } public function onClickPause(event:MouseEvent):void { pause_bt.visible=false; play_bt.visible=true; resume_time=_soundChannel.position; _soundChannel.stop(); } public function onEnterFrame(event:Event):void { progress_bar.scaleX=Math.round((_soundChannel.position/_sound.length)*10000)*0.0001; status_musik_bar.scaleX=Math.round((_sound.bytesLoaded/_sound.bytesTotal)*10000)*0.0001; } } }
__________________
cdc7600.livejournal.com |
|
|||||
|
Event.ENTER_FRAME работал бы и из кода на таймлайне - это непринципиально.
А сборник рецептов лучше не использовать без крайней необходимости.
__________________
Дело не в тебе |
|
|||||
|
Цитата:
но всё равно спасибо)
__________________
cdc7600.livejournal.com |
|
|||||
|
разрулила так, спасибо себе) )
package { import flash.media.SoundMixer; import flash.events.Event; import flash.display.MovieClip; import flash.display.Sprite; import flash.media.Sound; import flash.media.SoundChannel; import flash.net.URLRequest; import flash.events.MouseEvent; import flash.text.TextField; import flash.utils.ByteArray; public class StartPlaying extends Sprite { private var _sound:Sound = new Sound; private var _soundChannel:SoundChannel = new SoundChannel; //public var url:String = "http://cdc7600.sevmap.org.ua/Offspring%20-%20Americana%20-%20Walla%20Walla.mp3"; public var url:String = "my_mp3.mp3"; public var request_sound:URLRequest = new URLRequest(url); var resume_time:Number=0; public function StartPlaying():void { _text.Name_field1.selectable=false; _text.Name_field2.selectable=false; //_text.Name_field1.autoSize=true; play_bt.addEventListener(MouseEvent.CLICK, onClickPlay); _text.maska.scaleX=0; status_musik_bar.scaleX=0; progress_bar.scaleX=0; play_bt.visible=true; ramka_play.visible=false; ramka_loaded.visible=true; pause_bt.visible=false; _sound.load(request_sound); _sound.addEventListener(Event.ID3,onId3); //полоса прокрутки по которой нужно кликнуть navigator.addEventListener(MouseEvent.CLICK, goAndPlay); addEventListener(Event.ENTER_FRAME,onEnterFrame); } public function onClickPlay(event:MouseEvent):void { SoundMixer.stopAll(); pause_bt.addEventListener(MouseEvent.CLICK, onClickPause); _soundChannel=_sound.play(resume_time); play_bt.visible=false; pause_bt.visible=true; } public function onClickPause(event:MouseEvent):void { pause_bt.visible=false; play_bt.visible=true; resume_time=_soundChannel.position; _soundChannel.stop(); } public function onEnterFrame(event:Event):void { progress_bar.scaleX=Math.round((_soundChannel.position/_sound.length)*10000)*0.0001; status_musik_bar.scaleX=Math.round((_sound.bytesLoaded/_sound.bytesTotal)*10000)*0.0001; _text.maska.scaleX=Math.round((_soundChannel.position/_sound.length)*10000)*0.0001; _soundChannel.addEventListener(Event.SOUND_COMPLETE, onComplete); if (_soundChannel.position==_sound.length) { status_musik_bar.scaleX=0; progress_bar.scaleX=0; _text.maska.scaleX=0; } } public function onComplete(event:Event):void { //play_bt.addEventListener(MouseEvent.CLICK, onClickPlay); status_musik_bar.scaleX=0; progress_bar.scaleX=0; _text.maska.scaleX=0; play_bt.visible=true; ramka_play.visible=false; ramka_loaded.visible=true; pause_bt.visible=false; resume_time=0; //_sound.load(request_sound); } public function onId3(event:Event):void { var Artist:String; var SongName:String; Artist=convert(_sound.id3.artist); SongName=convert(_sound.id3.songName); _text.Name_field1.text=Artist+" "+"-"+" "+SongName; _text.Name_field2.text= Artist+" "+"-"+" "+SongName; } // конвертация в правильную кодировку public function convert(data:String):String { var b:ByteArray = new ByteArray(); for (var i:uint = 0; i<data.length; i++) { b[ i ] = data.charCodeAt( i ); } return b.readMultiByte(b.bytesAvailable,'win-1251'); } public function goAndPlay(event:MouseEvent):void { // 522 ширина полосы проигрывания var p:int = _sound.length * event.currentTarget.mouseX / 522; _soundChannel.stop(); _soundChannel = _sound.play(p); } } ![]()
__________________
cdc7600.livejournal.com Последний раз редактировалось cdc7600; 12.05.2009 в 13:46. Причина: разрулила так, спасибо себе) ) |
|
|||||
|
всё круто, я динамо )
__________________
cdc7600.livejournal.com Последний раз редактировалось cdc7600; 15.05.2009 в 14:48. |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:04. |
|
|
« Предыдущая тема | Следующая тема » |
|
|