|
1 week ago | |
---|---|---|
README.md | 1 week ago | |
hapk.c | 1 week ago | |
happ.c | 1 week ago | |
hapr.c | 1 week ago | |
haps.c | 1 week ago | |
hiddenAudioPlayer.c | 1 week ago |
Лёгкий и невидимый PCM-аудиоплеер, написанный на C, с управлением через именованный канал (FIFO). Работает в фоне как демон, поддерживает проигрывание одиночных .pcm
файлов и целых директорий как плейлист.
.pcm
-файлов через ALSA.pcm
файлов по порядку/tmp/pcm_cmd
sudo mv hiddenAudioPlayer /usr/local/bin/
sudo mv hapk happ hapr haps /usr/local/bin/
sudo apt update
sudo apt install -y libasound2-dev build-essential ffmpeg
gcc hiddenAudioPlayer.c -o hiddenAudioPlayer -lasound -lpthread
gcc hapk.c -o hapk
gcc happ.c -o happ
gcc hapr.c -o hapr
gcc haps.c -o haps
Язык программирования: C + ALSA.
Плеер hiddenAudioPlayer
принимает как одиночный файл, так и директорию (воспринимается как плейлист) и проигрывает все .pcm
файлы в ней.
Программа полностью "молчаливая" — она ничего не выводит в терминал, работает в фоне.
ffmpeg
Пример создания .pcm
файла:
ffmpeg -i song.mp3 -f s16le -acodec pcm_s16le -ar 44100 -ac 2 output.pcm
Команда | Назначение |
---|---|
ffmpeg |
Запуск утилиты ffmpeg |
-i song.mp3 |
Входной файл (любое аудио) |
-f s16le |
Формат: Signed 16-bit Little Endian |
-acodec pcm_s16le |
Явное указание кодека PCM 16-bit LE |
-ar 44100 |
Частота дискретизации: 44100 Гц (CD качество) |
-ac 2 |
Количество каналов: 2 (стерео) |
output.pcm |
Имя выходного файла — "голый" PCM поток |
Результат:
Полный пример:
ffmpeg -i /home/usr/Music/input.mp3 -f s16le -acodec pcm_s16le -ar 44100 -ac 2 /home/usr/pcmMusic/output.pcm
Автоматически — после проигрывания:
pgrep pcm_player_v2
# После завершения процесса:
pgrep pcm_player_v2 # (пусто)
Медленно — через FIFO команду (скрипт haps
):
echo haps > /tmp/pcm_cmd
Быстро — завершение по PID (скрипт hapk
)
pause
— пауза (скрипт happ
)resume
— продолжить (скрипт hapr
)Grannik
Этот проект распространяется под лицензией MIT.
См. файл LICENSE
для подробностей.