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

Инклуд для разбора 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.

Сообщение Plrip » 10 июл 2012, 14:06

:crazy:
и зачем этот инклуд?
что с его помощью можно сделать ?

Status:
Аватара пользователя
Plrip
Скриптер
 
Сообщения: 2903
Зарегистрирован: 03 дек 2011, 19:33
Откуда: Ukraine
Благодарил (а): 237 раз.
Поблагодарили: 603 раз.
Языки программирования: Counter-Strike 1.6
X-Ray
Killing-Floor [low]

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

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

Plrip писал(а)::crazy:
и зачем этот инклуд?
что с его помощью можно сделать ?


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

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

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

[spoiler][/spoiler]

_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, 14:11

Plrip писал(а)::crazy:
и зачем этот инклуд?
что с его помощью можно сделать ?

Там в каждой фунции есть подробное описание.
Так же в самом начале инклуда написано, что туда планируется добавить.

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

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

Сообщение Plrip » 10 июл 2012, 14:18

неа

Status:
Аватара пользователя
Plrip
Скриптер
 
Сообщения: 2903
Зарегистрирован: 03 дек 2011, 19:33
Откуда: Ukraine
Благодарил (а): 237 раз.
Поблагодарили: 603 раз.
Языки программирования: Counter-Strike 1.6
X-Ray
Killing-Floor [low]

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

Сообщение Матвей » 10 июл 2012, 14:27

Chuvi, Полностью моё сообщение прочитай . окай,
Аватара пользователя
Матвей
 
Сообщения: 1064
Зарегистрирован: 11 дек 2011, 14:32
Откуда: Украина
Благодарил (а): 164 раз.
Поблагодарили: 161 раз.

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

Сообщение noo00oob » 10 июл 2012, 14:31

Матвей писал(а):Ну а опытные скриптеры конечно же начнут обсуждать сам код, показывать ошибки, писать свои варианты одной из функций.

Как бэ чтоб тут что-то обсуждать, надо mp3 формат знать. По твоему все опытные скриптеры его знают? Ты хоть одного покажи. Каким местом это вообще к скриптингу относится? Перед тем как написать что-то, подумайте хорошенько, если конечно умеете.
Один фрукт, страдающий недостачей времени, нашел его ради меня любимого и писал(а):
noo00oob, зачем родился на свет вообще? срать на форумах это понятно.. больше изъеба не найти как бэ? а то, что ты недоношенная скотина, сдерживайся, детка.
noo00oob
 
Сообщения: 1061
Зарегистрирован: 09 янв 2010, 21:52
Благодарил (а): 258 раз.
Поблагодарили: 394 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Half-Life

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

Сообщение Fedcomp » 10 июл 2012, 15:07

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


"я ставлю зависимости потому что мне приятно" - subb98 @ 2017
Аватара пользователя
Fedcomp
Администратор
 
Сообщения: 4936
Зарегистрирован: 28 авг 2009, 20:47
Благодарил (а): 813 раз.
Поблагодарили: 1317 раз.
Языки программирования: =>
pawn / php / python / ruby
javascript / rust

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

Сообщение PRoSToTeM@ » 10 июл 2012, 16:18

Fedcomp писал(а):Может быть полезен например для зомби сервера, чтобы автоматически узнавать длину проигрываемой бэкграунд музыки.

А зачем её узнавать?
Аватара пользователя
PRoSToTeM@
Скриптер
 
Сообщения: 2498
Зарегистрирован: 26 мар 2010, 00:12
Благодарил (а): 438 раз.
Поблагодарили: 1125 раз.

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

Сообщение Матвей » 10 июл 2012, 21:36

соффрику бан ? :D
Аватара пользователя
Матвей
 
Сообщения: 1064
Зарегистрирован: 11 дек 2011, 14:32
Откуда: Украина
Благодарил (а): 164 раз.
Поблагодарили: 161 раз.

Пред.След.

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

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

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