Оболочка для воспроизведения аудиофайлов - Программирование, компьютеры и кибернетика курсовая работа

Оболочка для воспроизведения аудиофайлов - Программирование, компьютеры и кибернетика курсовая работа




































Главная

Программирование, компьютеры и кибернетика
Оболочка для воспроизведения аудиофайлов

Создание оболочки для воспроизведения аудиофайлов. Аналитический обзор языков программирования, их сравнительные характеристики, описание предметной области и формата mp3. Алгоритм разработки инсталляционного пакета. Диаграмма деятельности объектов.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Актуальность темы. Музыка является частью жизни современного человека. Для её воспроизведения используют различные проигрыватели. В наши дни для воспроизведения музыки мы используем компьютерные программы. Количество таких программ постоянно растет. Но не все проигрыватели имеют удобный интерфейс.
Пользователям было бы гораздо практичнее, если бы они имели такую программу, которая имела бы простой и понятный внешний вид. Поэтому тема «оболочка для воспроизведения аудиофайлов» является актуальной, так как содержит в себе все вышеперечисленные функции для удобства пользователей.
Целью данной курсовой работы является создание оболочки для воспроизведения аудиофайлов.
Объектом данной курсовой работы является объектно-ориентированное программирование.
Предметом данной курсовой работы является процесс проектирования оболочки для воспроизведения аудиофайлов.
Для достижения поставленной цели были сформулированы следующие задачи :
2. Провести сравнительный анализ языков программирования;
· UML - диаграмма состояния классов;
· UML - диаграмма деятельности объектов.
4. Создать информационно - аналитическую систему «Аптека»;
Структура и объем курсовой работы . Пояснительная записка состоит из введения, двух глав, заключения, списка источников и трёх приложений.
В первой главе приведен аналитический обзор языков программирования, их сравнительные характеристики, описание предметной области и формата mp3.
Во второй главе описываются UML - диаграммы, выбранная среда разработки, созданные классы и программный продукт для воспроизведения аудиофайлов.
В заключение подводится итог выполненной работы и прилагается список литературы, использованной при выполнении курсовой работы.
Объем курсовой работы составляет 36 страниц печатного текста, включает 4 рисунка и 3 приложения на 12 страницах.
1.1 Аналитический обзор яз ы ков программирования
аудиофайл программирование инсталляционный
Реализация программного обеспечения связана с использованием одного из языков программирования. Наиболее удобными для реализации программных систем, разработанных в рамках объектно-ориентированного подхода, являются объектно-ориентированные языки программирования.
Объектно-ориентированный язык программирования (ОО-язык) -- язык, построенный на принципах объектно-ориентированного программирования.
В основе концепции объектно-ориентированного программирования лежит понятие объекта -- некоей субстанции, которая объединяет в себе поля (данные) и методы (выполняемые объектом действия).
В современных ОО языках используются механизмы:
§ Наследование . Создание нового класса объектов путём добавления новых элементов (методов). В данный момент ОО языки позволяют выполнять множественное наследование, то есть объединять в одном классе возможности нескольких других классов.
§ Инкапсуляция . Сокрытие деталей реализации, которое позволяет вносить изменения в части программы безболезненно для других её частей, что существенно упрощает сопровождение и модификацию ПО.
§ Полиморфизм . При полиморфизме некоторые части (методы) родительского класса заменяются новыми, реализующими специфические для данного потомка действия. Таким образом, интерфейс классов остаётся прежним, а реализация методов с одинаковым названием и набором параметров различается. С полиморфизмом тесно связано позднее связывание.
Объектно-ориентированные языки программирования пользуются в последнее время большой популярностью среди программистов, так как они позволяют использовать преимущества объектно-ориентированного подхода не только на этапах проектирования и конструирования программных систем, но и на этапах их реализации, тестирования и сопровождения [10].
Наиболее распространенным объектно-ориентированным языком программирования безусловно является C++. Свободно распространяемые коммерческие системы программирования C++ существуют практически на любой платформе. Широко известна свободно распространяемая система программирования G++, которая дает возможность всем желающим разобрать достаточно хорошо и подробно прокомментированный исходный текст одного из образцовых компиляторов языка C++. Завершается работа по стандартизации языка C++: последний Draft стандарта C++ выпущен в июне 1995 г.
С 1995 года стал широко распространяться новый объектно-ориентированный язык программирования Java, ориентированный на сети компьютеров и, прежде всего, на Internet. Синтаксис этого языка напоминает синтаксис языка C++, однако эти языки имеют мало общего. Java интерпретируемый язык: для него определены внутреннее представление (bytecode) и интерпретатор этого представления, которые уже сейчас реализованы на большинстве платформ. Интерпретатор упрощает отладку программ, написанных на языке Java, обеспечивает их переносимость на новые платформы и адаптируемость к новым окружениям. Он позволяет исключить влияние программ, написанных на языке Java, на другие программы и файлы, имеющиеся на новой платформе, и тем самым обеспечить безопасность при выполнении этих программ. Эти свойства языка Java позволяют использовать его как основной язык программирования для программ, распространяемых по сетям (в частности, по сети Internet).
C# (произносится как «Си-шарп» или «Си-диез») -- это простой, современный, строго типизированный объектно-ориентированный язык программирования. C# базируется на семействе языков программирования C и будет хорошо знаком программистам, работавшим с языками C, C++ и Java.
C# представляет собой объектно-ориентированный язык программирования, однако также обеспечивает поддержку компонентно-ориентированного программирования. Разработка современных приложений все в большей степени базируется на применении программных компонентов в форме автономных и самодокументируемых функциональных модулей. Основной особенностью таких компонентов является реализация модели программирования с использованием свойств, методов, событий и атрибутов, представляющих декларативное описание компонентов, а также включение в них собственной документации. В C# представлены языковые конструкции, непосредственно поддерживающие эти понятия, что делает его близким к естественному языком для создания и применения программных компонентов. В C# представлены функциональные возможности, позволяющие создавать надежные и устойчивые приложения. Среди них: функция сборки мусора для автоматического освобождения памяти, занимаемой неиспользуемыми объектами; функция обработки исключительных ситуаций, обеспечивающая структурированный и расширяемый подход к обнаружению и устранению ошибок; а также строго типизированная структура языка, не допускающая считывания неинициализированных переменных, выхода индекса массива за пределы допустимого диапазона или выполнения непроверенных приведений типов.
В C# применяется унифицированная система типов. Все типы C#, включая простые типы (например, int и double), наследуются от единственного корневого типа object. Таким образом, все типы используют набор общих операций, что обеспечивает согласованные хранение, передачу и обработку значений любого типа. Кроме того, в C# поддерживаются пользовательские ссылочные типы и типы значений, что обеспечивает динамическое размещение объектов в памяти и встроенное хранение упрощенных структур.
Чтобы обеспечить совместимость и возможность дальнейшего развития программ и библиотек C#, в языке C# большое внимание уделяется управлению версиями. В большинстве языков программирования этому вопросу уделяется недостаточное внимание, в результате чего в создаваемых на таких языках программах чаще обычного возникают проблемы при переходе на новые версии зависимых библиотек. В C# реализованы следующие возможности по управлению версиями: разделение модификаторов virtual и override, применение правил разрешения перегрузки метода и поддержка явного объявления членов интерфейса.[4]
Delphi является языком программирования и средой разработки программного обеспечения. Он разработан Borland (ранее известный как Inprise). Язык программирования Делфи, ранее известный как Object Pascal (Pascal с объектно-ориентированными расширениями), первоначально ориентированный только на Microsoft Windows, но в настоящее время позволяет строить собственные приложения для Linux и Microsoft. NET Framework, и других (см. ниже). Программирование для начинающих. Наиболее популярное использование - разработка настольных приложений и баз данных предприятия, а как инструмент язык программирования Делфи может использоваться и для большинства типов развивающихся проектов. Это был один из первых языков, который стал известным как инструмент RAD (быстрая разработка приложений), когда вышел в 1995 году. Delphi 2, вышедший год спустя, поддерживал 32-разрядную среду Windows , и а только несколько лет спустя вышли C, C + + Builder. В 2001 году стала доступна версия под ОС Linux известная как Kylix (классическая греческая урна). Каждый год выходило по одной новой версии, в 2002 году продукт стал известен как Delphi 7 Studio, язык стал официально называться язык программирования Delphi, а не Object Pascal, а также была добавлена поддержка Linux (через Kylix) и. NET (через Предварительный компилятор). Полная поддержка. NET запланирована на предстоящий Delphi 8 [7].
Замечательные особенности языка Delphi включают:
· Прозрачная обработка объектов через ссылки или указатели
· Свойства как часть языка, вкупе с функциями Get и Set, которые являются прозрачной инкапсуляцией доступа к членам полям
· Свойства индекса и свойствами по умолчанию, которые обеспечивают доступ к коллекции удобным и прозрачным способом
· Делегаты или по-другому методы указателей безопасного типа, которые используются для приведения в действие события вызванных компонентами
· Делегирование реализации интерфейса в поле или свойство класса
· Простота внедрения обработчики Windows сообщение, отметь метод класса с числом / имя окна сообщений для обработки
· Большинство функций, перечисленных выше, были введены в Delphi первой и адаптированы на других языках позже.
Scala - мультипарадигмальный язык программирования, спроектированный кратким и типобезопасным для простого и быстрого создания компонентного программного обеспечения, сочетающий возможности функционального и объектно-ориентированного программирования.
Первые версии языка созданы в 2003 году коллективом лаборатории методов программирования Федеральной политехнической школы Лозанны под руководством Мартина Одерского, язык реализован для платформ Java и .Net. По мнению Джеймса Стрэчена, создателя языка программирования Groovy, Scala может стать преемником языка Java.
Smalltalk - объектно-ориентированный язык программирования с динамической типизацией, разработанный в Xerox PARC Аланом Кэйем, Дэном Ингаллсом, Тедом Кэглером, Адель Голдберг, и другими в 1970-х годах. Язык был представлен как Smalltalk-80. Smalltalk продолжает активно развиваться и собирает вокруг себя сообщество пользователей [4].
Smalltalk оказал большое влияние на развитие многих других языков, таких как: Objective-C, Actor, Java, Groovy и Ruby. Многие идеи 1980-х и 1990-х по написанию программ появились в сообществе Smalltalk. К ним можно отнести рефакторинг, шаблоны проектирования (применительно к ПО), карты Класс-Обязанности-Взаимодействие и экстремальное программирование в целом. Основатель концепции Wiki, Вард Каннингем, также входит в сообщество Smalltalk.
PHP -- скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов. PHP до недавнего времени обеспечивал лишь некоторую поддержку ООП. Однако, после выхода PHP5 поддержка ООП в PHP стала практически полной.
Информационная часть программы заключается в воспроизведении выбранного пользователем файла.
Графический интерфейс программы содержит следующие элементы:
1. Удобный для пользователя интерфейс
2. Кнопки для управления воспроизводимых файлов
Для разработки ПО было принято использовать язык программирования С#, так как он очень удобен при работе с классами, что делает его так же удобным при работе в объектно-ориентированном программировании.
MP3 - это наиболее популярный формат хранения и передачи информации в цифровой форме, использующий компрессию сигнала. Формат MP3, или MPEG Audio Layer-3, был разработан компаниями Fraunhofer IIS и Thomson. По сравнению с WAV-файлами, являющимися копиями треков Audio CD (PCM, 16 bit, Stereo, 44,1 kHz), MP3-композиции занимают намного меньше места на диске. На обыкновенном CD-R/RW-бланке можно сохранить свыше 11 часов музыки вполне пристойного качества.
В формате MP3 используется алгоритм сжатия с потерями, разработанный для существенного уменьшения размера данных, необходимых для воспроизведения записи и обеспечения качества воспроизведения звука очень близкого к оригинальному (по мнению большинства слушателей)
Для MP3 написано множество отличных программ (кодировщиков, проигрывателей и т.д.), налажено производство аппаратных (стационарных, карманных и автомобильных) плееров, каждый современный телефон поддерживает MP3-мелодии (и даже имеет встроенный плеер для их удобного воспроизведения). По сравнению со многими другими форматами сжатия аудио MP3 обеспечивает лучшее качество звучания и сегодня по своей популярности занимает, пожалуй, второе место после Audio CD.
MP3 разработан рабочей группой института Фраунгофера под руководством Карлхайнца Бранденбурга и университета Эрланген-Нюрнберг в сотрудничестве с AT&T Bell Labs и Thomson (Джонсон, Штолл, Деери и др.).
Основой разработки MP3 послужил экспериментальный кодек ASPEC (Adaptive Spectral Perceptual Entropy Coding). Первым кодировщиком в формат MP3 стала программа L3Enc, выпущенная летом 1994 года. Спустя один год появился первый программный MP3-плеер -- Winplay3.
При разработке алгоритма тесты проводились на вполне конкретных популярных композициях. Основной стала песня Сюзанны Веги «Tom's Diner». Отсюда возникла шутка, что «MP3 был создан исключительно ради комфортного прослушивания любимой песни Бранденбурга», а Вегу стали называть «мамой MP3».
1.5 Технические сведения о формате mp 3
Высокая степень сжатия в MP3 достигается за счёт достаточно сложного алгоритма кодирования. Используются как математические методы компрессии, так и особенности человеческого слуха (психоакустическая модель): эффект маскировки слабого звука одной частоты более громким звуком такой же или соседней частоты, понижение чувствительности уха к тихому звуку сразу после громкого, невосприимчивость к звукам ниже определённого уровня громкости.
Рис . 1 П ример графика частот mp 3 файла
Поток звука при кодировании разбивается на равные по участки (фреймы). Каждый из фреймов кодируется отдельно со своими параметрами и содержит заголовок, в котором эти параметры указаны. Сжатие может быть выполнено с разным качеством и соответственно размером конечного файла.
Степень сжатия характеризуется битрейтом (bitrate) - количество передаваемой за единицу времени информации. Файлы MP3 обычно закодированы с битрейтом от 64 до 320 килобит в секунду (kbps или kb/s), а также с переменным битрейтом (VBR) - когда для каждого фрейма используется свой, оптимальный для данного участка, битрейт.
Исходный сигнал с помощью фильтров разделяется на несколько частотных диапазонов, для каждого диапазона определяется величина маскирующего эффекта от соседних диапазонов и предыдущего фрейма, несущественные сигналы игнорируется. Для оставшихся данных для каждого диапазона определяется, сколькими битами можно пожертвовать, чтобы потери были ниже величины маскирующего эффекта. На этом работа психоакустической модели завершается, а итоговый поток дополнительно сжимается по алгоритму Хаффмана (аналогично RAR архиватору).
При битрейте 320 kbps применяется только итоговое сжатие, без психоакустического моделирования. Следует иметь в виду, что различные кодеки могут кодировать аудиосигнал по-разному, различия особенно проявляются на высоких частотах и низких битрейтах. В формате MP3 кодируется стереосигнал, при этом возможны несколько вариантов преобразования:
1.6 Режимы управления кодированием звуковых каналов
Так как формат MP3 поддерживает двухканальное кодирование (стерео), существует 4 режима:
· Стерео - двухканальное кодирование, при котором каналы исходного стереосигнала кодируются независимо друг от друга, но распределение бит между каналами в общем битрейте может варьироваться в зависимости от сложности сигнала в каждом канале.
· Моно - одноканальное кодирование. Если закодировать двухканальный материал этим способом, различия между каналами будут полностью стёрты, так как два канала смешиваются в один, он кодируется и он же воспроизводится в обоих каналах стереосистемы. Единственным плюсом данного режима может являться только выходное качество по сравнению с режимом Стерео при одинаковом битрейте, так как на один канал приходится вдвое большее количество бит, чем в режиме Стерео.
· Двухканальное стерео (англ. Dual Channel) - два независимых канала, например звуковое сопровождение на разных языках. Битрейт делится на два канала. Например, если заданный битрейт 192 кбит/c, то для каждого канала он будет равен только 96 кбит/c.
· Объединённое стерео (англ. Joint Stereo, M/S Stereo) - один из самых оптимальных способов двухканального кодирования. Например, в одном из режимов «Объединённое стерео» левый и правый каналы преобразуются в их сумму (L+R) и разность (L?R). Для большинства звуковых файлов насыщенность канала с разностью (L?R) получается намного меньше канала с суммой (L+R). Также тут свою роль играет восприятие звука человеком, для которого различия в направлении звука намного менее примечательны. Поэтому объединённое стерео позволяет либо сэкономить на битрейте канала разности (L?R), либо улучшить качество на том же битрейте, поскольку на канал суммы (L+R) отводится большая часть битрейта. Современные кодеки используют различные схемы в разных фреймах (включая чистое стерео) в зависимости от исходного сигнала.
Одной из важнейших характеристик MP3-файла является битрейт - скорость потока обрабатываемых данных, или общее количество информации, передаваемой в единицу времени. Эта величина не зависит от того, содержит этот поток моно- или стереозвук.
Битрейт 128 Kbps с легкой руки Fraunhofer IIS был признан оптимальным для использования в интернете, а некоторые производители кодеров распространили мнение о том, что этой скорости вполне достаточно для кодирования музыки с качеством, близким к Audio CD. Однако это не так. На хорошей аппаратуре невосполнимые потери аудиоинформации становятся заметными.
Чем выше битрейт, тем больше места на диске потребуется для сохранения конечного MP3-файла, но и, как правило, тем выше будет качество закодированного сигнала. В целом же каждое значение битрейта имеет свою область применения.
Даже профессиональные эксперты с тонким музыкальным слухом порой не в состоянии отличить на хорошей аппаратуре звучание трека Audio CD и его образа, закодированного в MP3-файл с низким коэффициентом сжатия, например 4:1 (320 Kbps).
Еcли вы имеете дело только с компьютерными акустическими системами или недорогой бытовой радиоаппаратурой, то для кодирования и последующего прослушивания композиций вполне достаточно 160-192 Kbps. Для компрессии быстро устаревающей поп-музыки, а также для "выкладывания" музыкального архива в сети вполне подойдет и 128 Kbps. Значения битрейта ниже 128 Kbps не позволяют добиться должного качества звучания. Скорости 64-96 Kbps чаще всего используют для сжатия аудиоуроков иностранного языка, лекций, интервью и аудиотрансляций.
1. CBR расшифровывается как Constant Bit Rate, то есть постоянный битрейт, который задаётся пользователем и не изменяется при кодировании произведения. Таким образом, каждой секунде произведения соответствует одинаковое количество закодированных бит данных (даже при кодировании тишины). CBR может быть полезен для потоков мультимедиа данных по ограниченному каналу; в таком случае кодирование использует все возможности канала данных. Для хранения данный режим кодирования не является оптимальным, так как он не может выделить достаточно места для сложных отрезков исходного произведения, при этом бесполезно тратя место на простых отрезках. Повышенные битрейты (выше 256 кбит/c) могут решить данную проблему, выделив больше места для данных, но зато и пропорционально увеличивая размер файла.
2. VBR расшифровывается как Variable Bit Rate, то есть изменяющийся битрейт или переменный битрейт, который динамически изменяется программой-кодером при кодировании в зависимости от насыщенности кодируемого аудиоматериала и установленного пользователем качества кодирования (например, тишина закодируется с минимальным битрейтом). Этот метод MP3-кодирования является самым прогрессивным и до сих пор развивается и улучшается, так как аудиоматериал разной насыщенности может быть закодирован с определённым качеством, которое обычно выше, чем при установке среднего значения в методе CBR. Плюс к тому, размер файла уменьшается за счёт фрагментов, не требующих высокого битрейта. Минусом данного метода кодирования является сложность предсказания размера выходного файла.
Но этот недостаток VBR-кодирования незначителен в сравнении с его достоинствами.
Также минусом является то, что VBR считает «незначительной» звуковой информацией более тихие фрагменты, таким образом получается, что если слушать очень громко, то эти фрагменты будут некачественными, в то время как CBR делает с одинаковым битрейтом и тихие, и громкие фрагменты.
3. ABR расшифровывается как Average Bit Rate, то есть усредненный битрейт, который является гибридом VBR и CBR: битрейт в кбит/c задаётся пользователем, а программа варьирует его, постоянно подгоняя под заданный битрейт. Таким образом, кодер будет с осторожностью использовать максимально и минимально возможные значения битрейта, так как рискует не вписаться в заданный пользователем битрейт. Это является явным минусом данного метода, так как сказывается на качестве выходного файла, которое будет немного лучше, чем при использовании CBR, но намного хуже, чем при использовании VBR. С другой стороны, этот метод позволяет наиболее гибко задавать битрейт (может быть любым числом между 8 и 320, против исключительно кратных 16 чисел метода CBR) и вычислять размер выходного файла.
· Высокая степень сжатия при приемлемом качестве звука.
· Степень сжатия и качество может регулироваться пользователем.
· Фреймовая структура удобна для передаче по сети, позволяет переход к любому месту файла.
· Широкое распространение аппаратуры и программ.
· Технические недостатки. Количество каналов звука ограничено двумя, в отличии от более современных AAC и Ogg Vorbis .
· Юридические ограничения. Патентом на MP3 владеет компания Alcatel-Lucent, которая требует лицензирования некоторых способов использования формата. Срок действия связанных с MP3 патентов истекает в 2007--2017 годах. Почти полный стандарт появился в открытом доступе 6 декабря 1991 года. В США изобретения публично раскрытые более года не могут быть запатентованы.
ГЛАВА II. ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА ПРОГРАММНОГО ПРОДУКТА
Размещено на http://www.allbest.ru/
Диаграмма классов (рис.3) представляет собой граф, вершинами которого являются элементы типа «классификатор», связанные различными типами структурных отношений. Диаграмма классов может также содержать интерфейсы, пакеты, отношения и даже отдельные экземпляры, такие как объекты и связи.
Во второй главе описано создание UML-диаграмм. Так была описана среда разработки ПО и модель «оболочка для воспроизведения аудиофайлов» содержащая 2 класса. Приложение дает возможность пользователю проигрывать mp3 файлы, содержит приятный и удобный интерфейс.
· возможность воспроизведения, остановки и приостановки mp3 файла;
· перематывание песни на любые промежутки времени;
· отображения названия песни и её общую длительность;
· возможность регулировки уровня звука;
· малый размер приложения (141 Кб);
Основным недостатком программы является отсутствие возможности создания плей-листа. Планируется устранить данный недостаток с выходом следующей версии программы.
Также были систематизированы знания и получены новые навыки.
Оtvetin [Электронный ресурс]. - Режим доступа: http://otvetin.ru/naukatchech/607-kto-izobrel-pervye-chasy.html
Модели объектов и их назначение [Электронный ресурс]. - Режим доступа: http://school.xvatit.com/index.php
Свободная энциклопедия - Википедия [Электронный ресурс]. - Режим доступа: http://ru.wikipedia.org/wiki/
Citforum [Электронный ресурс]. - Режим доступа: http://citforum.ru/programming/tasm3/tasm3_4.shtml
С# [Электронный ресурс]. - Режим доступа: http://cesharp.narod.ru/
Введение в язык C++[Электронный ресурс]. - Режим доступа: http://dvo.sut.ru/libr/cvti/i618buz/1.htm
Герберт Шилдт: Полный справочник по С#.: Пер. с англ. -- М.: Издательский дом "Вильямc", 2004. -- 752 с.
scala [Электронный ресурс]. - Режим доступа: http://ru-scala.livejournal.com/
public readonly int MAX_DISPLAY_SIZE = 45;
if (this.Status == "playing") return true;
System.Text.StringBuilder sb = new System.Text.StringBuilder(128);
mciSendString("status MediaFile length", sb, 128, IntPtr.Zero);
return Convert.ToInt32(sb.ToString()) / 1000;
mciSendString("setaudio MediaFile volume to " + value * 10, null, 0, IntPtr.Zero);
//Движение по треку, переход на позицию
System.Text.StringBuilder sb = new System.Text.StringBuilder(128);
mciSendString("status MediaFile position", sb, 128, IntPtr.Zero);
return Convert.ToInt32(sb.ToString()) / 1000;
mciSendString("seek MediaFile to " + value * 1000, null, 0, IntPtr.Zero);
mciSendString("play MediaFile", null, 0, IntPtr.Zero);
System.Text.StringBuilder sb = new System.Text.StringBuilder(128);
mciSendString("status MediaFile mode", sb, 128, IntPtr.Zero);
private static extern long mciSendString(string Cmd, StringBuilder StrReturn, int ReturnLength, IntPtr HwndCallback);
OpenFileDialog ofd = new OpenFileDialog();
ofd.InitialDirectory = Environment.SpecialFolder.MyMusic.ToString();
if (ofd.ShowDialog() == DialogResult.OK)
mciSendString(_command, null, 0, IntPtr.Zero);
public void OpenMP3Player(string sFileName)
_command = "open \"" + sFileName + "\" type mpegvideo alias MediaFile";
mciSendString(_command, null, 0, IntPtr.Zero);
mciSendString("stop MediaFile", null, 0, IntPtr.Zero);
mciSendString("pause MediaFile", null, 0, IntPtr.Zero);
mciSendString(_command, null, 0, IntPtr.Zero);
MES_AMOUNT = Enum.GetValues(typeof(Constants)).Length;
public string GetMessage(short type)
if (type >= 0 && type < MES_AMOUNT)
public void LoadLangFile(string file)
XDocument xdoc = XDocument.Load(file);
var messages = xdoc.Elements("DPlayer").Elements("mes");
if (messages.LongCount() != MES_AMOUNT)
throw new Exception("Invalid language file");
for (int i = 0; i < MES_AMOUNT; i++ )
value[i] = messages.ElementAt(i).Value;
using System.Runtime.InteropServices;
private const string LANG_FILE = "ln/ru-RU.xml";
int iFormX, iFormY, iMouseX, iMouseY;//глобальные переменные
private void Form1_MouseDown(object sender, MouseEventArgs e)
private void Form1_MouseMove(object sender, MouseEventArgs e)
this.Location = new Point(iFormX + (iMouseX2 - iMouseX), iFormY + (iMouseY2 - iMouseY));
this.VOLUME.Text = DPlayer.Volume.ToString()+"%";
private void button1_Click(object sender, EventArgs e)
private void MIN_Click(object sender, EventArgs e)
Form1.ActiveForm.WindowState = FormWindowState.Minimized;
private void EJECT_Click(object sender, EventArgs e)
MP3NAME.Text = System.IO.Path.GetFileNameWithoutExtension(mp3Name);
if ((substr = MP3NAME.Text.Length) > DPlayer.MAX_DISPLAY_SIZE)
MP3NAME.Text = MP3NAME.Text.Substring(0, substr);
this.MP3NAME_H.Text = DMes.GetMessage((short)DMessage.Constants.STATE_PLAY);
this.MP3TIME_TOTAL.Text = String.Format("{0:00}:{1:00}", DPlayer.Length / 60, DPlayer.Length % 60);
this.TIME_TRACK.Maximum = DPlayer.Length;
MessageBox.Show(ex.Message.ToString());
private void PLAY_Click(object sender, EventArgs e)
this.MP3NAME_H.Text = DMes.GetMessage((short)DMessage.Constants.STATE_PLAY);
MessageBox.Show(ex.Message.ToString());
private void PAUSE_Click(object sender, EventArgs e)
this.MP3NAME_H.Text = DMes.GetMessage((short)DMessage.Constants.STATE_PAUSE);
MessageBox.Show(ex.Message.ToString());
private void STOP_Click(object sender, EventArgs e)
this.MP3NAME_H.Text = DMes.GetMessage((short)DMessage.Constants.STATE_STOP);
this.MP3TIME_CUR.Text = String.Format("{0:00}:{1:00}", 0, 0);
MessageBox.Show(ex.Message.ToString());
private void RIGHT_Click(object sender, EventArgs e)
if (DPlayer.Navigate < DPlayer.Length + 5) DPlayer.Navigate += 5;
private void LEFT_Click(object sender, EventArgs e)
if (DPlayer.Navigate > 5) DPlayer.Navigate -= 5;
private void DTimer_Tick(object sender, EventArgs e)
this.MP3TIME_CUR.Text = String.Format("{0:00}:{1:00}", pos / 60, (pos) % 60);
if (DPlayer.Navigate == DPlayer.Length - 1)
this.MP3NAME_H.Text = DMes.GetMessage((short)DMessage.Constants.STATE_STOP);
this.MP3TIME_CUR.Text = String.Format("{0:00}:{1:00}", 0, 0);
MessageBox.Show(ex.Message.ToString());
private void TIME_TRACK_Scroll(object sender, ScrollEventArgs e)
DPlayer.Navigate = this.TIME_TRACK.Value;
private void VOLUME_TRACK_Scroll(object sender, ScrollEventArgs e)
DPlayer.Volume = this.VOLUME_TRACK.Value;
this.VOLUME.Text = this.VOLUME_TRACK.Value.ToString() + "%";
Редакторы аудиофайлов как программы, которые позволяют изменять медиаданные. Сравнительный анализ Adobe Audition и Sony Sound Forge как самых используемых и функциональных редакторов: обзор их функций и возможностей, основные достоинства и недостатки. реферат [1,9 M], добавлен 22.01.2013
Формат звукового файла wav, способ его кодирования. Реализация возможностей воспроизведения звука в среде
Оболочка для воспроизведения аудиофайлов курсовая работа. Программирование, компьютеры и кибернетика.
Курсовая работа по теме Профессиональная подготовка школьников
Сочинение На Тему Описание Картины Бабушкин Сад
Религия Как Форма Культуры Реферат По Культурологии
Курсовая работа по теме Заговор Катилины
Курсовая По Программированию Заказать
Агрессия в младшем дошкольном возрасте
Реферат по теме Российская банковская система после Октябрьской революции 1917г
Реферат: Управление техническими системами 2
Реферат: Учет и анализ финансовой устойчивости и платежеспособности предприятия
Контрольная работа: Інтелектуальна власність та авторське право
Осеннее Утро Сочинение Описание
Написать Сочинение Диалог
Сочинение По Творчеству Фазиля Искандера Сочуна
Маленькое Сочинение Про Школу
Учебное пособие: Расч т производственно технологической программы свиноводческого к
Курсовая работа: Бухгалтерский учёт основных средств. Скачать бесплатно и без регистрации
Курсовая работа по теме Информационные технологии в маркетинге
Сочинение Краткое Жизнь Коротка А Искусство Вечно
Контрольные Работы 4 Класс Ответы Русский
Реферат по теме Особенности аэромассы
Ответственность за разбой - Государство и право дипломная работа
Методы активного социально-психологического обучения - Педагогика реферат
Процессуальное положение прокурора в Республике Беларусь - Государство и право курсовая работа


Report Page