Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Сохранение mp3 в переменную (https://javascript.ru/forum/misc/38410-sokhranenie-mp3-v-peremennuyu.html)

Romaboy 31.05.2013 02:15

Сохранение mp3 в переменную
 
Можно сохранить аудио по ссылке так:
new Audio('src')

Но получится объект, мне очень нужно получить сам файл, чтобы потом извлечь из него теги id3. Как так файл по ссылке сохранить в переменную, чтобы потом работать с ним, как с бинарной строкой?

Aetae 31.05.2013 03:37

Теги вродь и так получить можно.

Romaboy 31.05.2013 15:44

Я был бы очень счастлив, если бы вы рассказали, как их можно "так" получать. Чтобы ссылку функции скормить и теги получить.

vadim5june 31.05.2013 19:39

Цитата:

Сообщение от Romaboy
Как так файл по ссылке сохранить в переменную, чтобы потом работать с ним, как с бинарной строкой?

Сохранить на компьютере-загрузить с помощью File Api как binariString

Romaboy 01.06.2013 03:09

Да нет же, не сохраняя ничего на компьютере, нужно что-то вроде этого:
filereader.readAsBinaryString(myaudio)

Вот только readAsBinaryString не жуёт мой Audio объект, почти неделю вожусь с этим, помогите без таких советов

Aetae 01.06.2013 03:19

http://blog.nihilogic.dk/2008/08/rea...avascript.html

Romaboy 01.06.2013 17:26

К сожалению, это немного не то: id3v1 встречается не очень часто, а ajax способен загружать файлы только со своего хостинга. Не беда, я уже смирился ограниченностью js, прийдётся делать c++ мост.

Aetae 01.06.2013 18:22

А при чём тут c++? Если вы можете использовать c++, вы можите использовать любой другой серверный язык для проксирования внешних запросов.(или вы на сервере используете c++?) Также как и js поддерживает полноценную работу с бинарником, потому вы всегда можете написать свою реализацию получения именно нужных вам тегов.
Однако в данном случае действительно в проксировании смысла нет, ибо если уж привлекается сервер то и получить данные о файле лучше сразу на серверной стороне.

А js не ограничен - он безопасен :) . Он не грузит файлы с чужих доменов исключительно из-за вопросов безопасности. Если же оба домена ваши - то вы можете легко наладить связь меж ними.

Romaboy 02.06.2013 02:12

Я делаю десктопное приложение без привлечения серверов. js знаю и люблю, поэтому использую qt webkit, ruby люблю сильнее в бесконечно раз, но не добавлять же интерпритатор к программе, люди не одобрят. С++ это то, чего пытался избежать, от его кода веет взрывом мозга. На секунду показалось, что всё сошлось: ajax он безопасный, да, но audio класс ведь может грузить музыку откуда угодно! Как так, грузить может, а вытянуть из объекта - нельзя? Можно где-нибудь посмотреть исходник класса Audio?

Aetae 02.06.2013 17:39

Цитата:

Сообщение от Romaboy (Сообщение 254051)
Как так, грузить может, а вытянуть из объекта - нельзя? Можно где-нибудь посмотреть исходник класса Audio?

Именно так. Также как и с img.(по img пока гораздо больше информации, а суть та же)
Цитата:

Сообщение от Romaboy (Сообщение 254051)
Можно где-нибудь посмотреть исходник класса Audio?

Можно, движки ff и chrome открытые же.
Цитата:

Сообщение от Romaboy (Сообщение 254051)
Я делаю десктопное приложение

В случае локальными программами на js обычно доступны специальные методы для кроссдоменных запросов без ограничений безопасности, также как и методы для работы с пользовательскими файлами. Пошерстите документацию к среде исполнения.


Часовой пояс GMT +3, время: 02:13.