MPlayer 1.0.1 (Сколочено by SIGINT) 1) Играет MP3 и OGG. 2) Грамотный авто плейлист. 3) Запоминает позицию файла, громкость. 4) Профайлы. 5) 8 назначаемых действий на PTT кнопку. 6) Переключение PTT кнопкой между MPlayer и FMTuner1.2. 7) Непрерывный плейбек(без гапов). 8) Концепция корзины(папка такая). 9) Ресемплер. А теперь попорядку: 1. MP3 и OGG.------------------------------------------------------ На данный момент плеер поддерживает форматы мп3 libmad 1.4 - MPEG audio decoder library и огг Ogg Vorbis 'Tremor' 1.0 integer playback codec В принципе в прогу заложена расширяемость, и можно научить читать его любой формат, ему поровну что играть, он одинаково работает и мп3 и с огг. Проблема лишь в том чтобы найти библиотеку декодера (например wma) и скомпилировать её под Симбиан. 2. Грамотный авто плейлист.---------------------------------------- Итак плеер поддерживает только автоплейлист, который он сам создаёт и может автоматически обновлять. Представим ситуацию: На моём Kingston 2G лежат 100 мелодий, прослушал я 80 и думаю: а не залить ли мне ещё 200 завтра в маршрутке будет что послушать. Что делает плеер: при запуске спрашивает "Сканировать изменения?" Вы говорите Да, и он добавляет новые мелодии в конец плейлиста. При этом прослушанные мелодии остаются там где надо, а новые следуют дальше по списку и будут играться после старых. 3. Запоминает позицию файла, громкость.---------------------------- Плеер запоминает позицию в файле, на которой остановилось воспроизведение, и возобновляет плейбек с этого места, после того как вы его снова запустите. Любителям аудио книг, часовых DJ сетов, FM Cafe, и.т.д. эта функция будет полезна. 4. Профайлы.------------------------------------------------------- Абсолютно все настройки программы я сгруппировал в Профайлы. Это полезно, например, когда на флешке у меня различные, по назначению, папки с музыкой. Т.е. у меня в одной папке лежит чиллаут в другой аудио книги, а в третьей всякая мешанина которая со спутникового инета наловилась. Так вот создал я три профайла с разными настройками кнопки гарнитуры, в одном перемешка включена, в другом попорядку играть. И в каждом профайле выбрана своя папка с музыкой, соответственно свои раздельные плейлисты создаются. 5. 8 назначаемых действий на PTT кнопку.--------------------------- Кнопка теперь имеет одновременно четыре действия: 1. Короткий клик.(нажатие короче пол секунды ). 2. Длинный клик.(нажал и спустя пол секунды отпустил ). 3. Двойной клик.(два коротких нажатия за пол секунды ). 4. Очень длинное нажатие. (нажал и не отпускаешь, через две секунды слышется бип, ещё через секунду наступает событие, и потом оно будет повторяться каждые две секунды пока не отпустишь кнопку). Но!!! (эта бредовая идея пришла мне по дороге домой). А чё бы не сделать переключение контекста? В одном контексте 4 действия и в другом ещё 4. А работает это так: когда вы жмете и не отпускаете кнопку, вы слышите бип. Если сразу после этого отпустить кнопку то контекст переключится и вы услышите бип-бип, а событие наступить ещё не успеет(ну если сразу отпустить). Бип-бип означает что включился второй контекст. Если повторить всё тоже самое то вы услышите бип и контекст переключится обратно на первый. 6. Переключение PTT кнопкой между MPlayer и FMTuner1.2.------------ Когда запущен только плеер или только тюнер всё работает как обычно. Но когда они обнаруживают что они работают вместе то оба переходят в кооперативный режим. Короче говоря: работает тюнер, плеер на фоне в ожидании затыкаем тюнер, все молчат следующее нажатие тюнер игнорирует(уступает), а плеер снимается с паузы и наоборот. Рекомендую после затыкания тюнера или плеера в этом режиме выдерживать где-то секундную паузу перед следующим нажатием кнопки, чтобы дать время среагировать обеим программам. В принципе у меня всё работает достаточно стабильно, если не торопиться. В плеере у меня затыкание назначено на короткое нажатие. В тюнере на длинное. 7. Непрерывный плейбек.--------------------------------------------- Полноценное склеивание мп3 потока на лету (как это делает mp3 Splitter/Joiner) мне пока реализовать не удалось, поэтому порезанные на куски мелодии могут играться с заметным на слух переходом, это связано со свойством кодека. Но вместо этого я сделал, чтобы следующий по списку файл был подгружен и находился в ожидании, а когда заканчивается текущий, сразу же отправлялся на вывод. Это позволяет избежать характерного щелчка и задержки при переходе на следующую мелодию. 8. Концепция корзины.---------------------------------------------- Плеер может автоматически перебрасывать проигранный файл в папку корзины. Это позволяет организовать как бы конвейер т.е. прослушанные мелодии легко удалить, а залить новые и продолжать слушать не копаясь в плейлисте. Т.о. всё, о чём остаётся заботиться это заливать новые мп3 и снимать плеер с паузы. Можно правда автоматически удалять мелодии но я чёто не пользуюсь этим. Кроме того данное действие можно назначить на кнопку и перебрасывать в корзину только мелодии, которые не понравились. Так я чищу свою муз библиотеку. Я написал скрипт «createlist.bat» который я бросаю на флешку в корзину, запускаю, он генерирует другой скрипт «movelist.bat», его я перетаскиваю в мп3 библиотеку на комп, запускаю там и он мне выдёргивает из библиотеки лажовые мелодии, складывая их в папку «recycle». Более подробно об этом в BatReadMe.txt 9. Ресемплер.------------------------------------------------------ Ресемплер ведёт себя еледующим образом: Если частота дискретезации не равна 8000, 11025, 16000, 22050, 32000, 44100 т.е. не поддерживается SX1 напрямую, то в работу включается ресемплер. При этом выбирается макимально близкая частота дискретезации устройства к частоте трека и ресемплинг производится до неё. Например если частота трека 24000, то плеер выставит аппаратную частоту 22050 и будет ресемплить аудио поток до неё. (Ресемплер - целочисленный интерполяционный) ------------------------------------------------------ Горячие клавиши на главном экране: Джойстик и цифры настраиваются в опциях: Влево-Вправо - Перемотка Вверх-Вниз - Предыдущий/Следующий трек Центр - Старт/Стоп * # - Громкость но есть клавиши, при длительном нажатии на которые, вызываются некоторые функции: 4... - Вызывает плейлист. 5... - Вызывает список профайлов. *... - Переключает вид приложения (ну то, что доступно в Симбиане: показывать часы, показывать статус батареи, на весь экран). #... – Блокирует клавиатуру. 0... – Показывает/Прячет диаграмму загрузки декодера. В плейлисте: Теперь Влево-Вправо - листает постранично плейлист. Shift+Влево-Вправо - прокрутка длинных названий треков. Shift+Вверх-Вниз - перескакивает на начало/конец плейлиста. ------------------------------------------------------ Ну и кроме того я сделал профайлы текстовыми, так что в случае чего можно в каком нибудь редакторе подправлять настройки которых нет в меню. Плеер сохраняет профайлы предыдущих версий. Т.е. после установки нового плеера он загружает настройки которые вы делали раньше. http://sigint.nm.ru