Русское сообщество по скриптингу

Инклуд для разбора mp3-файлов. Версия 0.0.1 Alpha.

Статьи или фрагменты кода для новичков и уже опытных скриптеров по AMXX.

Модератор: Chuvi

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только обучающему материалу по AMX Mod X.

Инклуд для разбора mp3-файлов. Версия 0.0.1 Alpha.

Сообщение Chuvi » 10 июл 2012, 03:07

Собственно, не знаю, в какой раздел это поместить. Это вроде как и не "болтовня", и не готовый плагин, и пока ещё не совсем "Статья/фрагмент кода". Ладно, пусть будет в болтовне. Хотя, имхо, это не самая разумная мысль.

На создания данного инклуда меня подтолкнула Вы должны зарегистрироваться, чтобы видеть ссылки. от Вы должны зарегистрироваться, чтобы видеть ссылки. для расчёта длительности wav-файла, и желание создать функцию для проверки mp3-файла на возможность воспроизведения с помощью клиента counter-strike.

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


Итак.
Версия 0.0.1 Alpha
Добавлено:
  1. Функции для разбора заголовка mp3-фрейма
  2. Массивы для нормального отображения некоторых данных.
Необходимо сделать:
  1. Проверить и исправить ошибки.
  2. Было замечено, что маркер mp3-фрейма может внезапно встретиться в пределах ID3v2 тэга, который как правило, расположен в начале mp3-файла. Нужна функция, которая будет определять размер ID3v2 тэга.
  3. Также было замечено, что маркер mp3-фрейма может встречаться в странных местах. Короче, надо это проверять. :(
  4. Реализовать функции для разбора ID3 и ID3v2 тэгов.
  5. Реализовать функции для разбора VBR-заголовков.
  6. При необходимости попытаться реализовать преобразователь кодировки ID3 и ID3v2 тэгов в UTF-8.
    для того, чтобы их можно было отображать в кс (Сомневаюсь, что осуществимо)
  7. Реализовать функцию для определения времени проигрывания mp3-файла.
  8. Реализовать функцию для определения возможности проигрывания данного mp3-файла в CS.
  9. Реализовать функции для проверки CRC заголовка фрейма.

Пример использования:
[spoiler][pawn]
  1. #include <amxmodx>

  2. #include <amxmisc>

  3. #include <mp3>

  4.  

  5. #define PLUGIN "mp3.test"

  6. #define VERSION "1.0"

  7. #define AUTHOR "Chuvi"

  8.  

  9.  

  10. public plugin_init() {

  11.         register_plugin(PLUGIN, VERSION, AUTHOR)

  12.         register_srvcmd("mp3_test","mp3_test")

  13.         // Add your code here...

  14. }

  15. new mp3_file[33]="sound/test.mp3"

  16.                        

  17.        

  18. public find()

  19. {

  20.         new mp3=fopen(mp3_file,"rb")

  21.         new start

  22.         start=MP3_Frame_Start(mp3)     

  23.         server_print("Frame found at %i",start)

  24.         server_print("MPEG version is %i (%s)",MP3_MPEG_Version(mp3,start),MP3_MPEG_Version_Array[MP3_MPEG_Version(mp3,start)])

  25.         server_print("Layer version is %i (%s)",MP3_Layer_Version(mp3,start),MP3_Layer_Version_Array[MP3_Layer_Version(mp3,start)])

  26.         server_print("MP3_Protection_Bit= %i",MP3_Protection_Bit(mp3,start))

  27.         server_print("MP3_Bitrate= %i",MP3_Bitrate(mp3,start))

  28.         server_print("MP3_Sampling_Rate= %i",MP3_Sampling_Rate(mp3,start))

  29.         server_print("MP3_Padding_Bit=%i",MP3_Padding_Bit(mp3,start))

  30.         server_print("MP3_Private_Bit=%i",MP3_Private_Bit(mp3,start))

  31.         server_print("MP3_Channel_Mode=%s",MP3_Channel_Mode_Array[MP3_Channel_Mode(mp3,start)])

  32.         server_print("MP3_Mode_Extension=%s", MP3_Mode_Extension_Array[MP3_Layer_Version(mp3,start)][MP3_Mode_Extension(mp3,start)])

  33.         server_print("MP3_Copyright_Bit=%i",MP3_Copyright_Bit(mp3,start))

  34.         server_print("MP3_Original_Bit=%i",MP3_Original_Bit(mp3,start))

  35.         server_print("MP3_Emphasis=%s^n",MP3_Emphasis_Array[MP3_Emphasis(mp3,start)])

  36.         fclose(mp3)

  37. }

  38.  

  39.  
[/pawn][/spoiler]

Если кому интересно покопаться в спецификации mp3:
Вы должны зарегистрироваться, чтобы видеть ссылки.
Вы должны зарегистрироваться, чтобы видеть ссылки.
Вы должны зарегистрироваться, чтобы видеть ссылки.
Последний раз редактировалось Chuvi 11 июл 2012, 11:04, всего редактировалось 1 раз.
Плагинами на заказ не занимаюсь.
Своих дел хватает.
Аватара пользователя
Chuvi
Модератор
 
Сообщения: 2253
Зарегистрирован: 24 ноя 2011, 08:03
Благодарил (а): 127 раз.
Поблагодарили: 562 раз.

Re: Инклуд для разбора mp3-файлов. Версия 0.0.1 Alpha.

Сообщение Chuvi » 10 июл 2012, 13:17

Матвей писал(а):но зачем лишняя нагрузка сервера если просто можно сделать через client_cmd(id, "mp3 play")


Слушайте, ребятки, а вы в код-то сам заглядывали? Или с детства уже приучаетесь критиковать результат, на него не посмотрев?

Во-певых, объясни мне, Матвей, как с помощью client_cmd(id, "mp3 play") я могу узнать время проигрывания файла, его битрейт, его частоту дискретизации и прочие параметры, присущие mp3 файлам.

Во-вторых, объясни мне, пожалуйста, как с помошью mp3 play, отправленной клиенту, я могу получить информацию из ID3 тэгов mp3 файла.

Ну и в-третьих, покажи мне, пожалуйста, функцию в моём инклуде, которая является аналогом client_cmd(id, "mp3 play")
Плагинами на заказ не занимаюсь.
Своих дел хватает.
Аватара пользователя
Chuvi
Модератор
 
Сообщения: 2253
Зарегистрирован: 24 ноя 2011, 08:03
Благодарил (а): 127 раз.
Поблагодарили: 562 раз.

Re: Инклуд для разбора mp3-файлов. Версия 0.0.1 Alpha.

Сообщение KORD_12.7 » 10 июл 2012, 13:32

Chuvi писал(а):я посторался избежать объявления каких-либо переменных в функциях

И чем же это обусловлено?

_http://aghl.ru/ - Half-Life и Adrenaline Gamer: за пределами возможного
Аватара пользователя
KORD_12.7
Скриптер
 
Сообщения: 298
Зарегистрирован: 28 сен 2009, 10:14
Откуда: Владивосток
Благодарил (а): 142 раз.
Поблагодарили: 257 раз.
Опыт программирования: Больше трех лет
Языки программирования: Half-Life
Opposing Force
Adrenaline Gamer
Counter-Strike

Re: Инклуд для разбора mp3-файлов. Версия 0.0.1 Alpha.

Сообщение Chuvi » 10 июл 2012, 13:35

KORD_12.7, а зачем, если можно обойтись без них?
Плагинами на заказ не занимаюсь.
Своих дел хватает.
Аватара пользователя
Chuvi
Модератор
 
Сообщения: 2253
Зарегистрирован: 24 ноя 2011, 08:03
Благодарил (а): 127 раз.
Поблагодарили: 562 раз.

Re: Инклуд для разбора mp3-файлов. Версия 0.0.1 Alpha.

Сообщение soffrick » 10 июл 2012, 13:41

От Ser_UFL:
отдохните немножко
Аватара пользователя
soffrick
 
Сообщения: 403
Зарегистрирован: 18 мар 2012, 15:23
Забанен
Благодарил (а): 25 раз.
Поблагодарили: 59 раз.

Re: Инклуд для разбора mp3-файлов. Версия 0.0.1 Alpha.

Сообщение Chuvi » 10 июл 2012, 13:43

soffrick писал(а):Chuvi, Матвей - 2 мудака

Обоснуй.
Плагинами на заказ не занимаюсь.
Своих дел хватает.
Аватара пользователя
Chuvi
Модератор
 
Сообщения: 2253
Зарегистрирован: 24 ноя 2011, 08:03
Благодарил (а): 127 раз.
Поблагодарили: 562 раз.

Re: Инклуд для разбора mp3-файлов. Версия 0.0.1 Alpha.

Сообщение soffrick » 10 июл 2012, 13:44

Chuvi писал(а):soffrick, обоснуй.


[spoiler]википедия закрыта[/spoiler]
Аватара пользователя
soffrick
 
Сообщения: 403
Зарегистрирован: 18 мар 2012, 15:23
Забанен
Благодарил (а): 25 раз.
Поблагодарили: 59 раз.

Re: Инклуд для разбора mp3-файлов. Версия 0.0.1 Alpha.

Сообщение Chuvi » 10 июл 2012, 13:51

soffrick писал(а):
Chuvi писал(а):soffrick, обоснуй.


википедия закрыта

Причисляй к вышеназванному списку и себя.
Википедия легко открывается.
Special for soffrick. Открываем любую страницу википедии, смотрим в исходный код страницы и долго думаем. Думаем до тех пор, пока не придумаем что-нибудь интересное.
Плагинами на заказ не занимаюсь.
Своих дел хватает.
Аватара пользователя
Chuvi
Модератор
 
Сообщения: 2253
Зарегистрирован: 24 ноя 2011, 08:03
Благодарил (а): 127 раз.
Поблагодарили: 562 раз.

Re: Инклуд для разбора mp3-файлов. Версия 0.0.1 Alpha.

Сообщение soffrick » 10 июл 2012, 13:53

Chuvi писал(а):
soffrick писал(а):
Chuvi писал(а):soffrick, обоснуй.


википедия закрыта

Причисляй к вышеназванному списку и себя.
Википедия легко открывается.
Special for soffrick. Открываем любую страницу википедии, смотрим в исходный код страницы и долго думаем. Думаем до тех пор, пока не придумаем что-нибудь интересное.


Быть умным - хорошо, а достаточно умным - еще лучше 8-)
[spoiler]Отключаем JS и видем весь контент :thumbs_up[/spoiler]
Аватара пользователя
soffrick
 
Сообщения: 403
Зарегистрирован: 18 мар 2012, 15:23
Забанен
Благодарил (а): 25 раз.
Поблагодарили: 59 раз.

Re: Инклуд для разбора mp3-файлов. Версия 0.0.1 Alpha.

Сообщение Chuvi » 10 июл 2012, 13:57

soffrick писал(а):
Chuvi писал(а):
soffrick писал(а):
Chuvi писал(а):
soffrick писал(а):Chuvi, Матвей - 2 мудака
soffrick, обоснуй.


википедия закрыта

Причисляй к вышеназванному списку и себя.
Википедия легко открывается.
Special for soffrick. Открываем любую страницу википедии, смотрим в исходный код страницы и долго думаем. Думаем до тех пор, пока не придумаем что-нибудь интересное.


Быть умным - хорошо, а достаточно умным - еще лучше 8-)
[spoiler]Отключаем JS и видем весь контент :thumbs_up[/spoiler]

Ты так до сих пор не обосновал свои выводы.
Кстати, а картиночку с тремя людьми, закрывающими лицо найти не можешь? :)
Плагинами на заказ не занимаюсь.
Своих дел хватает.
Аватара пользователя
Chuvi
Модератор
 
Сообщения: 2253
Зарегистрирован: 24 ноя 2011, 08:03
Благодарил (а): 127 раз.
Поблагодарили: 562 раз.

Re: Инклуд для разбора mp3-файлов. Версия 0.0.1 Alpha.

Сообщение soffrick » 10 июл 2012, 14:00

Ты так до сих пор не обосновал свои выводы.

:crazy:
Кстати, а картиночку с тремя людьми, закрывающими лицо найти не можешь?

Пока ты заслужил 2 :acute:
Аватара пользователя
soffrick
 
Сообщения: 403
Зарегистрирован: 18 мар 2012, 15:23
Забанен
Благодарил (а): 25 раз.
Поблагодарили: 59 раз.

Пред.След.

Вернуться в Статьи / фрагменты кода

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8