2010-09-15 4 views
0

Так как я заявил в this other post, мой MP3-плеер не загружается в сети, но отлично работает на моем локальном компьютере.As3 MP3-плеер не загружается

Я сегодня возился с файлами, и, наконец, я получил вспышку, чтобы дать мне ошибку. Может быть, поэтому MP3-плеер не загружается в Интернете? Вот ошибка:

TypeError: Error #2007: Parameter text must be non-null. 
at flash.text::TextField/set text() 
at Mp3Player_fla::MainTimeline/id3Handler() 

Кстати, у меня есть MP3 на свой собственный swf. Его называют главным swf. Если я поместил весь код в главный swf, возможно, он сработает? Это не должно меняться, но, возможно, потому, что я загружаю большие фильмы в качестве фона и многих других swf одновременно, его испортить?

+0

извините, что во втором абзаце говорится: «Я сегодня возился с * файлами» и «Может быть, поэтому * MP3-плеер не загружается " – mike

+0

Я помню, как исправлял это некоторое время назад, помещая mp3 в тот же файл, что и код, который его извлекает. Kinde weird, но используя файловую структуру, такую ​​как file/location.mp3, не работает, она должна быть в том же файле – mike

ответ

0

Ваша ошибка в функции id3Handler. Кажется, вы пытаетесь установить значение текстового поля там равным нулю. Если вы не можете понять это, напишите код для id3Handler, и я дам вам дополнительную информацию. Вероятно, что-то еще не загрузилось.

+0

да, точно так же, как Патрик сказал, проверьте ссылку на мою ссылку в начальном посте. У него есть весь код, который используется для MP3! спасибо за ваш ответ, хотя! – mike

+0

Это не форум, это Q & A wiki. Если вопрос требует от респондентов увидеть предыдущий вопрос для кода, то это должно было быть обновлением предыдущего вопроса. –

0

Вы могли бы попытаться поймать ошибку в id3Handler, в случае теги id3 не определены

 
function id3Handler(evt:Event):void { 

    try{ 

     songInfo.text = /*song.id3.artist + ": " +*/ song.id3.songName; 

    }catch(e:Error) 
    { 
     trace(e); 

     //or... 
     songInfo.text = "No name" 
    } 
} 

хотя, возможно, также есть проблемы безопасности, id3 информация будет возвращен в таком случае. вы используете файл политики crossdomain?

Выдержка из документации Sound класса:

 
Certain operations dealing with sound are restricted. 
The data in a loaded sound cannot be accessed by a file in a different domain 
unless you implement a cross-domain policy file. 
Sound-related APIs that fall under this restriction are 
Sound.id3 , 
SoundMixer.computeSpectrum(), 
SoundMixer.bufferTime, 
and the SoundTransform class. 

Edit:

Вот очень разрешительный файл политики, копировать его, сохранить его в файл и имя файла

 
crossdomain.xml 

затем загрузите его в корневую папку вашего сайта, например, на example.com

 
http://example.com/crossdomain.xml 
<?xml version="1.0"?> 
    <!DOCTYPE cross-domain-policy SYSTEM  
    "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> 
     <cross-domain-policy> <site-control permitted-cross-domain-policies="all"/> 
     <allow- access-from domain="*" secure="false"/> 
     <allow-http-request-headers-from domain="*" headers="*" secure="false"/> 
</cross-domain-policy> 

Если это работает, прочитайте эту статью

http://kb2.adobe.com/cps/142/tn_14213.html

и посмотреть, как вы можете защитить ваш сайт с файлом crossdomain политики

+0

так что я попробовал ваш код, и ошибка исчезла.Я загрузил файл, но все равно никаких изменений, MP3 все еще не загружается. Я не знаю, что вы имеете в виду о crossdomain, но все файлы моих сайтов находятся в одной папке на том же сервере, если это то, о чем вам интересно. Кроме того, я создал отдельную папку на компьютере и переместил все, что мне нужно, в папку и загрузили все в эту папку в мою папку на моем сервере, вот почему ее так странно ... точно так же на моем компьютере, но работает только локально, а не в сети. – mike

+0

Я даже попытался сжать аудиофайлы с 9mb до 2,5 мегабайт но все равно никаких изменений ... я собираюсь попытаться переместить все в основной swf вместо загрузки mp3 swf seperatly. Я сомневаюсь, что что-то изменит, хотя ... – mike

+0

проверить отредактированный ответ, я думаю, что очень вероятно, что вы есть ошибка безопасности, он объяснит, почему он работает локально, а не онлайн – PatrickS

1

был разработан MP3-плеер я использовал на своем сайте от FlashXML, и изначально у меня была такая же проблема, но я разговаривал с ребятами из FX, и они разобрали мои проблемы.

Действительно застрял, пока они не помогли мне. Если вы по-прежнему заинтересованы, вы можете проверить его на www.flashxml.net/mp3-player.html

Смежные вопросы