كيفية تشغيل صوت في Actionscript 3 غير موجود في نفس الدليل كما SWF?

StackOverflow https://stackoverflow.com/questions/108276

سؤال

لدي مشروع مع مجموعة من الأصوات الخارجية إلى SWF.أريد أن ألعب معهم ، ولكن أي محاولة حمل عنوان URL جديد إلى كائن الصوت فشل مع أي منهما ،

خطأ #2068:صالح سليم

أو يثير ioError مع

خطأ #2032 تيار الخطأ

// حاولت مع مسار مسبوقة مع "http://.." "ملف://.." "//.." و "..")

var path:String = "http://../assets/the_song.mp3";

var url:URLRequest = new URLRequest( path );

var sound:Sound = new Sound();

sound.addEventListener( IOErrorEvent.IO_ERROR, ioErrorHandler);

sound.addEventListener( SecurityErrorEvent.SECURITY_ERROR, secHandler);

sound.load(url);
هل كانت مفيدة؟

المحلول

لقد فعلت اختبار وضع mp3 في دليل: soundTest/assets/song.mp3 ثم خلق swf أن يدعو mp3 في دليل آخر: soundTest/swfs/soundTest.swf و عند استخدام var path:String = "../assets/song.mp3"; ثم يجمع مع عدم وجود أخطاء.

ما هو الدليل الفعلي هيكل ؟

نصائح أخرى

إلا إذا كنت تريد الذهاب لوضع url الكامل, لا تستخدم http:// أو file://

الصوت يمكن تحميل ملف mp3 من الكاملة أو النسبية url.تحتاج فقط للتأكد من عنوان url الخاص بك هو الصحيح.

على سبيل المثال ، إذا كان المسار الكامل إلى الملف http://www.something.com/assets/the_song.mp3, مسار "/assets/the_song.mp3" العمل.

كنت حقا ينبغي أن تحميل httpfox لفايرفوكس.هذا الشم يسمح لك أن ترى ما هي البيانات التي تتدفق من خلال browswer.يمكنك رؤية الملفات في التحميل ، بما في ذلك مسارات بعضها و يمكنك حتى شم المشاركة والحصول على المتغيرات.هذا وسوف تظهر لك حيث الملفات التي يتم سحبها من على الخروج من أنه يمكنك إصلاح المسارات النسبية وفقا لذلك.

https://addons.mozilla.org/en-US/firefox/addon/6647

المهم:

جميع الأصول الخارجية دعا من SWF بالنسبة إلى ملف html تحميلها عند تحميلها على شبكة الإنترنت ، لا SWF.الاستثناء الوحيد ، هذا هو الشيء الذي بدأ مع AS3, FLV هي نسبة إلى SWF, لا مستند HTML تحميل SWF مثل كل الأصول الأخرى.هذا هو السبب المتشممون أداة هامة, أنا خدش رأسي لفترة من الوقت حتى لاحظت URL في الشم كان يدعو غريب المسار.

أدناه هو كيف يمكنك تحميل الصوت.

var soundRequest:URLRequest = "path/to/file.mp3";
var s:Sound = new Sound(soundRequest);
var sChannel = s.play(0, int.MAX_VALUE); //Causes it to repeat by the highest possible number to flash.
//Above starts the sound immediatly (Streaming);

//Now to wait for completion instead, pretend we didnt start it before. s.addEventLister(Event.SOUND_COMPLETE, onSComplete, false, 0, true); function onSComplete(e:Event):void { var sChannel = s.play(0, int.MAX_VALUE); //Causes it to repeat by the highest possible }

في كل من بروتوكول RTMP & HTTP, يجب أن يكون المسار -- "path/to/mp3:الملف.mp3" أو "path/to/mp3:ملف".أستطيع أن أتذكر.يرجى التحقق على حد سواء.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top