Я люблю слушать музыку… Нет. Я очень люблю слушать музыку. Слушаю ее обыкновенно на плеере (Cowon D2 2Gb+4Gb SD), но этого объема мало, поэтому дома активно пользуюсь компьютером, где хранится вся коллекция музыки. Однако, это довольно неудобно — переключать музыку, составлять плейлисты — чуть что нужно подходить к компьютеру и тд. Поэтому мне пришла в голову идея сделать этот процесс удобнее…
Я обнаружил у себя в закромах некий девайс под названием PSP, используемый мной для чтения книг, просмотра фильмов и аниме(да-да, я смотрю аниме :) ).

Я решил, что здорово было бы управлять с помощью него музыкой на компьютере — действительно, у данного устройства есть WiFI, следовательно можно без проблем подключиться к домашней локальной сети. Тогда возник вопрос, как это реализовать. Я долго раздумывал что-бы такое сделать и тут внезапно наткнулся на такую вещичку — mpd (Music Player Daemon). Позволяет поднять под линуксом плеер-демон, с качественно проработанной системой управления. На сайте предложены различные клиенты(выбор впечатляет), я остановил свой выбор на PHP-клиентах. Т.е. с psp заходить на некий адрес в локалке и оттуда рулить плеером. Но, к моему глубокому сожалению, только один из всех клиентов был оптимизирован для «маленьких» экранов, да и тот мне не понравился:

После некоторых раздумий решил написать сам, благо для mpd есть очень хорошая php библиотека, так что особых сложностей возникнуть не должно было.
Первым делом, конечно же я установил mpd
sudo aptitude install mpd
Затем отредактировал файл настроек:
sudo gedit /etc/mpd.conf
мой файл с настройками
Теперь создаем базу музыки:
sudo mpd --create-db
Наконец можно запускать:
sudo /etc/init.d/mpd start
Итак, демон установлен, база музыки создана, можно приступать к созданию клиента.
(Я не буду рассказывать о функционале php библиотеки mpd — вы можете скачать ее, и изучить самостоятельно)
Первым моим решением было делать клиент на xAjax, но к сожалению оказалось, что интернет браузер psp отказывается с ним сотрудничать. Пришлось остановиться на стандартной модели GET передачи команд.
Я думаю, вам не очень интересно читать комментированный php код в статье, поэтому желающие могут посмотреть его вот здесь.
Расскажу лишь о трудностях, которые возникли при написании:
1) встроенный в psp браузер обладает очень интересной системой кеширования, поэтому для того, чтобы каждый раз он «прогружал» страницу, мне пришлось добавить ко всем ссылкам параметр ?hash=time(), чтобы браузер думал, что это другая «уникальная» страница
2) Долго бодался с милой техподдержкой корбины (это конечно не совсем связано с клиентом, но нервы сильно потрепало :) )
Итак, результат: могу из любой части квартиры управлять всей музыкальной библиотекой


Чем безмерно доволен :) Спасибо за внимание.
P.S. желающие могут скачать клиент
Я обнаружил у себя в закромах некий девайс под названием PSP, используемый мной для чтения книг, просмотра фильмов и аниме(да-да, я смотрю аниме :) ).
Я решил, что здорово было бы управлять с помощью него музыкой на компьютере — действительно, у данного устройства есть WiFI, следовательно можно без проблем подключиться к домашней локальной сети. Тогда возник вопрос, как это реализовать. Я долго раздумывал что-бы такое сделать и тут внезапно наткнулся на такую вещичку — mpd (Music Player Daemon). Позволяет поднять под линуксом плеер-демон, с качественно проработанной системой управления. На сайте предложены различные клиенты(выбор впечатляет), я остановил свой выбор на PHP-клиентах. Т.е. с psp заходить на некий адрес в локалке и оттуда рулить плеером. Но, к моему глубокому сожалению, только один из всех клиентов был оптимизирован для «маленьких» экранов, да и тот мне не понравился:

После некоторых раздумий решил написать сам, благо для mpd есть очень хорошая php библиотека, так что особых сложностей возникнуть не должно было.
Создание mpd-клиента
Первым делом, конечно же я установил mpd
sudo aptitude install mpd
Затем отредактировал файл настроек:
sudo gedit /etc/mpd.conf
мой файл с настройками
Теперь создаем базу музыки:
sudo mpd --create-db
Наконец можно запускать:
sudo /etc/init.d/mpd start
Итак, демон установлен, база музыки создана, можно приступать к созданию клиента.
(Я не буду рассказывать о функционале php библиотеки mpd — вы можете скачать ее, и изучить самостоятельно)
Первым моим решением было делать клиент на xAjax, но к сожалению оказалось, что интернет браузер psp отказывается с ним сотрудничать. Пришлось остановиться на стандартной модели GET передачи команд.
Я думаю, вам не очень интересно читать комментированный php код в статье, поэтому желающие могут посмотреть его вот здесь.
Расскажу лишь о трудностях, которые возникли при написании:
1) встроенный в psp браузер обладает очень интересной системой кеширования, поэтому для того, чтобы каждый раз он «прогружал» страницу, мне пришлось добавить ко всем ссылкам параметр ?hash=time(), чтобы браузер думал, что это другая «уникальная» страница
2) Долго бодался с милой техподдержкой корбины (это конечно не совсем связано с клиентом, но нервы сильно потрепало :) )
Итак, результат: могу из любой части квартиры управлять всей музыкальной библиотекой
Чем безмерно доволен :) Спасибо за внимание.
P.S. желающие могут скачать клиент