Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Звук - плей, стоп (http://www.flasher.ru/forum/showthread.php?t=156226)

Ossikuro 18.05.2011 14:10

Звук - плей, стоп
 
Помогите пожалуйста поправить звук. Вылетают ошибки, не понимаю с чем связаны:
Код AS3:

btn_sound_off.visible=false;
btn_sound_on.visible=true;
 
var sound:Sound = new Sound();
var channel:SoundChannel;
 
//channel = sound.stop();
//global_sound.attachSound("MICROCOBRA_feat_igrovaya_konsol_Volk_lovit_yayca_3");
 
//При запуски ролика знак запрета сразу невидим.
btn_sound_on.addEventListener (MouseEvent.CLICK, playsound);
btn_sound_off.addEventListener (MouseEvent.CLICK, stopsound);
 
 
function playsound (e:MouseEvent):void{
 
channel = sound.play();
btn_sound_off.visible=true;
btn_sound_on.visible=false;
}
//При нажатии на ноту, звук исчезает, появляется знак запрета поверх ноты.
function stopsound (e:MouseEvent):void{
//channel= sound.stop();
btn_sound_off.visible=false;
btn_sound_on.visible=true;
}

ошибки:
ArgumentError: Error #2068: Недопустимый звуковой файл.
at flash.media::Sound/play()
at Untitled_fla::MainTimeline/playsound()
Звук лежит в кадре на сцене, если весь код стереть - играет) формат читается

maxkar 18.05.2011 14:18

Цитата:

If you do not pass a valid URLRequest object to the Sound constructor, you must call the load() function for the Sound object yourself, or the stream will not load.
В этот Sound что нибудь загружается? По коду не похоже, поэтому он ничего и не играет. Звуки, лежащие в кадрах, играются автоматически. Ими нельзя так управлять. Если звук в библиотеке, то создавайте экземпляры того класса, который прописан в этой библиотеке.

t4arty 18.05.2011 15:18

в Sound ничего не загружается и следовательно не проигрывается.

Код AS3:

public var sp:Sound = new Sound(new URLRequest("blablabla"));

обрабатываем событие complete и проигрываем звук, все довольны, все молодцы = )

Ossikuro 18.05.2011 19:19

а если звук в библиотеке лежит? его не нужно вытаскивать на сцену? как тогда к нему обратиться?

maxkar 18.05.2011 19:46

Не нужно. Правой кнопкой, "свойства", "Экспорт для ActionScript". Там ввести имя класса "MySoundAsset". Базовый по умолчанию правильно ставится flash.media.Sound. Ну а затем вместо
Код AS3:

var sound : Sound = new Sound();

Писать
Код AS3:

var sound : Sound = new MySoundAsset();

Тогда должно работать и без load.

Ossikuro 19.05.2011 10:23

Код AS3:

btn_sound_off.visible=false;
btn_sound_on.visible=true;
 
var sound : Sound = new MySoundAsset();
var channel:SoundChannel;
 
//channel = sound.stop();
//global_sound.attachSound("MICROCOBRA_feat_igrovaya_konsol_Volk_lovit_yayca_3");
 
//При запуски ролика знак запрета сразу невидим.
btn_sound_on.addEventListener (MouseEvent.CLICK, playsound);
btn_sound_off.addEventListener (MouseEvent.CLICK, stopsound);
 
 
function playsound (e:MouseEvent):void{
 
channel = sound.play();
btn_sound_off.visible=true;
btn_sound_on.visible=false;
}
//При нажатии на ноту, звук исчезает, появляется знак запрета поверх ноты.
function stopsound (e:MouseEvent):void{
//channel= sound.stop();
btn_sound_off.visible=false;
btn_sound_on.visible=true;
}

Scene 1, Layer 'Layer 2', Frame 1, Line 4 1180: Call to a possibly undefined method MySoundAsset. ((
как же так, делаюю все, как вы сказали

Добавлено через 5 минут
а все, разобралась, извините пожалуйста за последний пост, спасибо всем большое)


Часовой пояс GMT +4, время: 07:37.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.