Просмотр полной версии : Проигрывание .wav файлов
Geqsogen
01.06.2009, 14:46
Столкнулся с проблемой проигрывания .wav файлов на сайте, т. е. просто не нашел в инете такие плееры. Сразу говорю - НУЖНО проигрывать именно .wav - нет возможности конвертировать в .mp3 и все такое (сайт в локале). Так вот - может кто нить помочь? Желательно чтоб была полоса прокрутки и громкость... Дайте хотяб кусок кода - может дальше сам разберусь. (Хотя желательно готовый вариант предпочтительней)
http://etcs.ru/blog/as3/wav_player/
.wav - это контейнер, внутри может быть что угодно. Если нужно проигрывать несжатый PCM, то 10-ый плеер штатно имеет возможность проигрывания программно генерируемого звука.
Geqsogen
01.06.2009, 15:42
http://etcs.ru/blog/as3/wav_player/
Этот я видел - вот еслиб оттуда знать что выковырять - а то кода 600 килобайт и из них большая часть на график ушло!! я то далеко не очень программирую на экшен скрипте :(
мож подскажет что нужно выковыривать?
На as1/2 проиграть wav не получится.
Geqsogen
01.06.2009, 15:52
.wav - это контейнер, внутри может быть что угодно. Если нужно проигрывать несжатый PCM, то 10-ый плеер штатно имеет возможность проигрывания программно генерируемого звука.
Сейчас начал разбираться, что из себя представляют эти .wav файлы - оказывается
18 кбит/сек
8 000 Hz
MPEG Layer-3
Stereo
хм... и с чем это есть?
Это MP3 в wav-контейнере либо вообще MP3 с неправильным расширением. Могу только предположить, что в первом случае возможно программно пересобрать данные в обычный MP3 файл и играть штатными средствами.
Geqsogen
01.06.2009, 16:13
Это MP3 в wav-контейнере либо вообще MP3 с неправильным расширением. Могу только предположить, что в первом случае возможно программно пересобрать данные в обычный MP3 файл и играть штатными средствами.
Это станция пишет (испокон веков - потому формат нельзя поменять), у меня около 10 000 таких файлов + в день около тысячи пишется... просто физически места не хватит конвертировать...
А я и не предлагаю конвертировать файлы заранее. Я говорю о пересборке данных в плеере - грузите файл в память, собираете в памяти новый на основе загруженного и играете новый. Если пересборка вообще возможна, она не будет ресурсоёмкой, так как перекодирование самих данных звука не потребуется, только изменение контейнера.
Geqsogen
01.06.2009, 16:22
А я и не предлагаю конвертировать файлы заранее. Я говорю о пересборке данных в плеере - грузите файл в память, собираете в памяти новый на основе загруженного и играете новый. Если пересборка вообще возможна, она не будет ресурсоёмкой, так как перекодирование самих данных звука не потребуется, только изменение контейнера.
А с этого места поподробнее - не сталкивался с изменением контейнера. Как лучше это сделать и желательно мелкий примерчек. Заранее благодарен!
Для начала я-бы попробовал всё-таки просто изменить расширение у одного файла на .mp3 и попробовать его загрузить.
О контейнерах. В MP3 звук кодируется "кадрами" - кусками по несколько сэмплов. Каждый кадр самостоятелен. Кадры лежат в файле друг за другом, заголовки есть только у кадров, а у файла нет (но есть опциональный ID3-тэг).
В WAV-контейнере есть общий заголовок у файла и блоки данных разного типа, по сигнатуре которых можно узнать, что они содержат. В одном из блоков обычно лежат звуковые данные в виде непрерывного потока, в случае с MP3 это должна быть последовательность кадров. Я не знаю точно, но думаю, что в вашем случае достаточно найти блок с данными в WAV-файле и как-то (http://www.flasher.ru/forum/showthread.php?p=807690) создать из него объект Sound.
Geqsogen
01.06.2009, 18:41
Ну чтож - спасиб большое... чуствую мелкими бедами я тут не отделаюсь :):):)
ЭЭЭ я что то не понял wav прекрасно проигрывается во флеше был и будет. или это только программно не работает ? хотя помоему тоже делал плеер на CS3 все нормально вроде было, утверждать не буду но вроде шло. А уж если не программно то сто процентов
Geqsogen
02.06.2009, 10:14
ЭЭЭ я что то не понял wav прекрасно проигрывается во флеше был и будет. или это только программно не работает ? хотя помоему тоже делал плеер на CS3 все нормально вроде было, утверждать не буду но вроде шло. А уж если не программно то сто процентов
Повторюсь, что в ActionScript я более чем слаб - мне бы примерчик кода или самый простейший плеер, чтоб посмотреть можно было.
var snd:Sound = new Sound();
snd.onLoad = function(success) { if(success) snd.start(); }
snd.loadSound("my.wav",true);
как то так попробуй может покатит
Пользователь in4core забанен на неделю за игнорирование тегов оформления кода.
Geqsogen
03.06.2009, 22:09
var snd:Sound = new Sound();
snd.onLoad = function(success) { if(success) snd.start(); }
snd.loadSound("my.wav",true);
как то так попробуй может покатит
Да чтож такое...((( сделал по этому примеру - mp3 играет а мои "вавки" не хочет!!!
Хм, вообще говоря wav никто не обещал.
Geqsogen
04.06.2009, 11:59
Вообще - кто нибудь знает как такого формата wav файлы заставить играть во флеш, и вообще возможно ли это?
Может я зря мучаюсь?
Ссылку на решение уже давали.
Geqsogen
04.06.2009, 12:24
Хорошо - всем спасибо за хорошие советы и что далеко не послали :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.