Разработка аудиоплеера для Android

Выбор среды разработки и языка программирования. Создание приложения "Музыкальный проигрыватель" для платформы Android. Анализ интерфейса и разработка кода. Анализ программных особенностей приложения и его отладка с помощью средств среды разработки.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 11.10.2015
Размер файла 578,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Минобрнауки России

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Пензенский государственный технологический университет"

Факультет информационных и образовательных технологий название института

Кафедра "Информационные технологии и системы"

Дисциплина "Языки программирования"

Курсовая работа

на тему: "Разработка аудиоплеера для Android"

Выполнил:

Ильин И.В.

Руководитель:

Володин К.И.

Пенза, 2014 г.

Введение

Цели работы. В соответствии с поставленной задачей необходимо выбрать среду разработки, язык программирования и разработать приложение для платформы Android, которое будет проигрывать mp3-файлы. Произвести отладку этого приложения с помощью стандартных средств среды разработки.

Аннотация разделов пояснительной записки.

Выбор языка программирования. В этом разделе будут рассмотрены причины выбора языка Delphi и его сравнение с Java.

Выбор среды разработки. В этом разделе будет дана краткая характеристика средам разработки, позволяющим вести разработку программного обеспечения для Android.

Разработка интерфейса приложения. В этом разделе будет подробный пошаговый отчет о разработке интерфейса приложения.

Разработка кода. В этом разделе будет описание всех процедур и кода, используемых в приложении.

Отладка приложения. В этом разделе будет отчет о результатах отладки приложения с помощью стандартных средств отладки и реальных устройств.

1. Постановка задачи

В соответствии с поставленной задачей необходимо разработать приложение для платформы Android, которое будет проигрывать mp3-файлы.

Приложение должно автоматически вести поиск файлов в файловой системе Android-устройства (внутренняя память либо SD-карта). Поддерживаемый формат файлов: mp3. Поддерживаемые форматы тегов: ID3v1, ID3v2. Для чтения тегов будут использованные специальные готовые библиотеки. Если файлы не найдены, приложения выводит сообщение об ошибке. Если поиск завершен успешно, в первой вкладке должны отображаться названия найденных файлов (без расширения *.mp3).

После начала воспроизведения во второй вкладке должны отобразиться теги этого файла (трек, исполнитель, альбом, жанр). В приложении должно отображаться время воспроизведения, длина трека, трек-бар воспроизведения с возможностью перемотки.

Функции воспроизведения: воспроизведение следующего трека, воспроизведение предыдущего трека, пауза, остановка, повторное воспроизведение, случайное воспроизведение. Для регулировки громкости воспроизведения будут использованы стандартные средства операционной системы Android.

2. Выбор языка программирования

2.1 Java

Java - объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Приложения Java обычно транслируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине вне зависимости от компьютерной архитектуры. Дата официального выпуска -- 23 мая 1995 года. Программы на Java транслируются в байт-код, выполняемый виртуальной машиной Java (JVM) - программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор. Достоинством подобного способа выполнения программ является полная независимость байт-кода от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью технологии Java является гибкая система безопасности благодаря тому, что исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером) вызывают немедленное прерывание.

Часто к недостаткам концепции виртуальной машины относят то, что исполнение байт-кода виртуальной машиной может снижать производительность программ и алгоритмов, реализованных на языке Java. В последнее время был внесен ряд усовершенствований, которые несколько увеличили скорость выполнения программ на Java: применение технологии трансляции байт-кода в машинный код непосредственно во время работы программы (JIT-технология) с возможностью сохранения версий класса в машинном коде; широкое использование платформенно-ориентированного кода (native-код) в стандартных библиотеках; аппаратные средства, обеспечивающие ускоренную обработку байт-кода (например, технология Jazelle, поддерживаемая некоторыми процессорами фирмы ARM).

Язык Java активно используется для создания мобильных приложений под операционную систему Android. При этом программы компилируются в нестандартный байт-код, для использования их виртуальной машиной Dalvik. Для такой компиляции используется дополнительный инструмент, а именноSoftware Development Kit, его разработали представители компании Google. Разработку приложений можно вести в среде NetBeans, в среде Eclipse, используя при этом плагин -- Android Development Tools (ADT) или в IntelliJ IDEA. Версия JDK при этом должна быть 5.0 или выше.

2.2 Delphi

Delphi -- императивный, структурированный, объектно-ориентированный язык программирования, диалект Object Pascal. Начиная со среды разработки Delphi 7.0, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal. Начиная с 2007 года уже язык Delphi (производный от Object Pascal) начал жить своей самостоятельной жизнью и претерпевал различные изменения, связанные с современными тенденциями (например, с развитием платформы .NET) развития языков программирования: появились class helpers, перегрузки операторов и другое.

Изначально среда разработки Delphi была предназначена исключительно для разработки приложений Microsoft Windows, затем был реализован вариант для платформ Linux (как Kylix), однако после выпуска в 2002 году Kylix 3 его разработка была прекращена, и вскоре было объявлено о поддержке Microsoft .NET, которая, в свою очередь, была прекращена с выходом Delphi 2007.

На сегодняшний день, наряду с поддержкой разработки 32 и 64-разрядных программ для Windows, реализована возможность создавать приложения для Apple Mac OS X (начиная с Embarcadero Delphi XE2), IOS (включая симулятор, начиная с XE4 посредством собственного компилятора), а также, в Delphi XE5, приложения для Google Android (непосредственно исполняемые на ARM процессоре).

Независимая, сторонняя реализация среды разработки проектом Lazarus (Free Pascal, компиляция в режиме совместимости с Delphi) позволяет использовать его для создания приложений на Delphi для таких платформ, как Linux, Mac OS X и Windows CE. Также предпринимались попытки использования языка в проектах GNU (например, Notepad GNU) и написания компилятора для GCC.

При создании языка не ставилась задача обеспечить максимальную производительность исполняемого кода, или лаконичность исходного кода для экономии оперативной памяти. Изначально, язык ставил во главу угла стройность и высокую читаемость, поскольку был предназначен для обучения дисциплине программирования. Эта изначальная стройность, в дальнейшем, как по мере роста аппаратных мощностей, так и в результате появления новых парадигм, упростила расширение языка новыми конструкциями.

Так, сложность объектного C++, по сравнению с C, выросла весьма существенно и затруднила его изучение в качестве первого языка программирования, чего нельзя сказать об Object Pascal относительно Pascal.

2.3 Обоснование выбора языка программирования

Для разработки приложения был выбран язык Delphi. Выбор языка программирования Delphi основывается на следующем: 80% приложений для Android написаны на Java. В 2013 с выходом Delphi XE5 появилась возможность кросс-компиляции для Android. Поэтому Delphi имеет перспективы в разработке приложений для Android. Delphi обладает простым синтаксисом и стройным, легко читаемым кодом, позволяющем освоить язык в короткие сроки, удачной проработкой иерархии объектов. Delphi имеет высокую скорость создания программных продуктов, требует значительно меньше вычислительных ресурсов, чем Java. Скорость работы приложений, написанных на Delphi выше, чем у приложений на Java.

3. Выбор среды разработки

3.1 Eclipse

Eclipse свободная интегрированная среда разработки модульныхкроссплатформенных приложений. Развивается и поддерживается Eclipse Foundation.

Наиболее известные приложения на основе Eclipse Platform -- различные "Eclipse IDE" для разработки ПО на множестве языков (например, наиболее популярный "Java IDE", поддерживавшийся изначально, не полагается на какие-либо закрытые расширения, использует стандартный открытый API для доступа к Eclipse Platform). Так же существуют плагины для разработки на Delphi.

Eclipse служит в первую очередь платформой для разработки расширений, чем он и завоевал популярность: любой разработчик может расширить Eclipse своими модулями. Уже существуют Java Development Tools (JDT), C/C++ Development Tools (CDT), разрабатываемые инженерами QNX совместно с IBM, и средства для языков Ada (GNATbench, Hibachi), COBOL, FORTRAN, PHP и пр. от различных разработчиков. Множество расширений дополняет среду Eclipse менеджерами для работы с базами данных, серверами приложений и др.

Eclipse JDT (Java Development Tools) -- наиболее известный модуль, нацеленный на групповую разработку: среда интегрирована с системами управления версиями -- CVS, GIT в основной поставке, для других систем (например, Subversion, MS SourceSafe) существуют плагины. Также предлагает поддержку связи между IDE и системой управления задачами (ошибками). В основной поставке включена поддержка трекера ошибок Bugzilla, также имеется множество расширений для поддержки других трекеров (Trac, Jira и др.). В силу бесплатности и высокого качества, Eclipse во многих организациях является корпоративным стандартом для разработки приложений.

Eclipse написана на Java, потому является платформо-независимым продуктом, за исключением библиотеки SWT, которая разрабатывается для всех распространённых платформ (см. ниже). Библиотека SWT используется вместо стандартной для Java библиотеки Swing. Она полностью опирается на нижележащую платформу (операционную систему), что обеспечивает быстроту и натуральный внешний вид пользовательского интерфейса, но иногда вызывает на разных платформах проблемы совместимости и устойчивости приложений.

3.2 Embarcadero Delphi

Embarcadero Delphi, ранее Borland Delphi и CodeGear Delphi, - интегрированная среда разработки ПО для Microsoft Windows, Mac OS, iOS и Android на языке Delphi (ранее носившем название Object Pascal), созданная первоначально фирмой Borland и на данный момент принадлежащая и разрабатываемая Embarcadero Technologies. Embarcadero Delphi является частью пакета Embarcadero RAD Studio и поставляется в четырёх редакциях: Starter, Professional, Enterprise и Architect.

Cреда предназначена для быстрой (RAD) разработки прикладного ПО для операционных систем Windows, Mac OS X, а также IOS и Android. Благодаря уникальной совокупности простоты языка и генерации машинного кода, позволяет непосредственно, и, при желании, достаточно низкоуровнево взаимодействовать с операционной системой, а также с библиотеками, написанными на C/C++. Созданные программы не зависимы от стороннего ПО, как-то Microsoft .NET Framework, или Java Virtual Machine. Выделение и освобождение памяти контролируется в основном пользовательским кодом, что, с одной стороны, ужесточает требования к качеству кода, а с другой -- делает возможным создание сложных приложений, с высокими требованиями к отзывчивости (работа в реальном времени). В кросс-компиляторах для мобильных платформ предусмотрен автоматический подсчет ссылок на объекты, облегчающий задачу управления их временем жизни.

RAD Studio XE5 вышла 11 сентября 2013 года. В новой версии добавлена поддержка Android. Особенности этой версии:

- Доработки в редакторе кода.

- Обновление DataSnap, в частности по части поддержки новых версий СУБД.

- Поддержка платформы x64 (пока только для Windows).

- Поддержка операционных систем Mac OS X и iOS.

- Программирование непосредственно под iPhone и iPad с учётом всех программных и технических особенностей.

- Генерация кода для эмулятора Apple IOS.

- Кросс-платформенная библиотека FireMonkey для создания современного пользовательского интерфейса.

- Поддержка Android.

3.3 Обоснование выбора среды разработки

Для разработки приложения была выбрана среда разработки Embarcadero Delphi XE5. Выбор этой среды разработки основывается на следующем: Embarcadero Delphi XE5 позволяет работать непосредственно с интерфейсом приложения, поэтому разработка приложений со сложным интерфейсом более простая, чем, например, в Eclipse. Благодаря этому Embarcadero Delphi XE5 позволяет разработать готовый продукт в короткие сроки. Так же Embarcadero Delphi XE5 позволяет выбрать платформу в процессе сборки проекта. Проект без изменения кода можно собрать для iOS, Android или Windows. Присутствует наращиваемость за счет встраивания новых компонентов и инструментов в среду Delphi; - возможность разработки новых компонентов и инструментов собственными средствами Delphi. Доступно огромное количество визуальных компонентов, часть из которых freeware, часть shareware, часть - коммерческих. В Embarcadero Delphi XE5 есть мощные средства отладки.

При отладке приложения Embarcadero Delphi XE5 в отличие от Eclipse поддерживает не только отладку через эмулятор, но и отладку на реальном устройстве, подключенном через USB. Это позволяет увидеть работу приложения на реальных устройствах, так как у эмулятора есть ряд недостатков:

1. Эмулятор обладает только 16-битной глубиной цвета, поэтому градиенты могут отображаться некорректно.

2. Отсутствует аппаратное ускорение. При разработке сложных 3D-приложений FPS обычно не превышает 15 кадров в секунду.

3. На реальном устройстве плотность пикселей больше, чем на мониторе компьютера, поэтому при разработке приложений для больших дисплеев (HD или FullHD) эмулятор может отображать приложение некорректно.

4. Эмулятор не способен подробно повторить архитектуру реального устройства, поэтому приложение, успешно отлаженное в стандартных средствах, может некорректно работать на реальных устройствах.

4. Разработка аудиоплеера для Android

4.1 Создание интерфейса приложения

Создаем объект TTabControl с именем TabControl1. Этот объект будет занимать ѕ пространства экрана сверху. Объект TabControl1 будет родительским для кнопок "Список файлов" и "Информация о файле". Добавляем в этот объект кнопки "Список файлов" и "Информация о файле". Для этого создаем объекты TabItem1 и TabItem2. В свойствах этих объектов в пункте Text пишем текст, который будет отображаться на экране: "Список файлов" и "Информация о файле" соответственно. Эти объекты привязываются к верхней границе экрана. Добавляем под объектом TabItem1 объект TListView с именем ListView1. Он должен занимать все пространство между верхними кнопками и нижней границей TabControl1. На нем будет располагаться список найденных файлов (рис. 1).

Рисунок 1 - заготовка для интерфейса приложения

В объект TabItem2 добавляем четыре объекта типа Tlabel с названиями Label1, Label2, Label3, Label4. В свойствах этих объектов в пункте Text прописываем текст, который будет отображаться на экране: соответственно "Трек:", "Исполнитель:", "Альбом:", "Жанр:". Ширина объектов - во весь экран, высота - 60 пунктов (рис. 2).

Рисунок 2 - объект TabItem2

Создаем объект TToolBar с именем ToolBar1. Его боковые границы привязываются к краям экрана, а нижняя к нижней границе экрана. Высота объекта - 50 пунтктов. Объект ToolBar1 будет родительским для кнопок "Стоп", "Пауза", "Проигрывание", "Предыдущий трек", "Следующий трек".

Под объектом ToolBar1 создаем объект типа TLayout с именем Layout1. Его ширина на 30 пунктом меньше, чем у ToolBar1. Высота одинакова. Он будет располагаться посередине. На этом объекте будут располагаться кнопки "Проигрывание", "Пауза", "Стоп".

Под объектом Layout1 создаем три объекта типа TImageControl с именами соответственно "Pause", "Play", "Stop". Ширина объектов по 63 пункта, высота равная Layout1. Через свойство Bitmap прикрепляем к каждому объекту TImageControl изображение кнопки (рис. 3).

Рисунок 3 - Создание кнопок "Play", "Pause", "Stop".

Под объектом ToolBar1 создаем два объекта типа TImageControl с именами соответственно "PlayPrev" и "PlayNext". "PlayPrev" будет расположен в нижнем левом углу экрана, а "PlayNext" в правом. В свойствах Bitmap прикрепляем к объектам изображения кнопок. Эти объекты будут кнопками "Предыдущий трек" и "Следующий трек" (рис. 4).

Рисунок 4 - Создание кнопок "Предыдущий трек" и "Следующий трек"

Перемещаем объект ToolBar1 на 50 пунктов вверх. Между ним и нижним краем экрана создаем объект типа TLayout с именем Layout2 высотой 50 пунктов и шириной во весь экран. На нем будут располагаться таймеры, ползунок перемотки и кнопки "Случайное воспроизведение", "Повторное воспроизведение".

В левой части объекта Layout2 создаем объект типа TSpeedButton с именем PlayShuffle. Высота и ширина - 50 пунктов. Под ним создаем объект типа TImage с именем ImageShuffle такого же размера. К нему прикрепляем изображение кнопки "Случайное воспроизведение" (рис. 5).

В правой части объекта Layout2 создаем объект типа TSpeedButton с именем PlayIteration . Высота и ширина - 50 пунктов. Под ним создаем объект типа TImage с именем ImageRepeat такого же размера. К нему прикрепляем изображение кнопки "Повторное воспроизведение" (рис. 5).

Рисунок 5 - создание кнопок "Случайное воспроизведение" и "Повторное воспроизведение"

Под объектом Layout2 создаем объект типа TTrackBar с именем TrackBar1 шириной 200 пунктов. Этот объект будем служить для быстрой перемотки и отображения воспроизведения.

Ниже объекта TrackBar1 создаем два объекта типа TLabel с именами соответственно Label5 и Label6. Label5 в левой части будет отображать время воспроизведения. Label6 в правой части будем отображать продолжительность трека в минутах и секундах. В свойствах в пункте Text для обоих объектов вводим "00:00". Это время будет отображаться по умолчанию (рис. 6).

Рисунок 6 - создание объектов TrackBar1, Label5 и Label6.

Создаем объект типа TMediaPlayer с именем MediaPlayer1. Этот объект будем отсчитывать время воспроизведения трека и будет отображать его через объект Label5.

Создаем объект типа TTimer с именем Timer1. Этот объект будет отображать продолжительность трека через объект Label6 (рис. 7).

Рисунок 7 - создание объектов MediaPlayer1 и Timer1

4.2 Разработка кода приложения

Подключаем модули и библиотеки, которые будут использованы в программе (листинг 1).

unit Unit1; //название модуля

interface //определяет внешний интерфейс модуля

uses //определяет список модулей или библиотек, которые используются текущим модулем

System.SysUtils, System.Types, System.UITypes,

System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.TabControl,

FMX.StdCtrls, FMX.ListView.Types, FMX.ListView, FMX.Layouts, FMX.Media, FMX.Objects;

Листинг 1 - начало программы

Список объектов Формы создается автоматически после добавления этого объекта. Объявляем названия процедур для объектов формы (см. приложение 2). Процедура для объединения действий пользователя и программы, объявление переменных (листинг 3).

var Key: Word; var KeyChar: Char; //определние переменных

Shift: TShiftState);

procedure ImageRepeatClick(Sender: TObject);

Листинг 3 - процедура для объединения действий пользователя и программы

Объявление процедуры для возвращения программы в исходное состояние.

Объявление процедуры для чтения тегов (листинг 4).

public

procedure StopClear();

procedure ID3tags();

end;

Листинг 4 - объявление основных процедур

Подключение основной библиотеки. Подключение библиотек для чтения тегов (листинг 5).

uses

System.IOUtils, ID3v1Library, ID3v2Library;

Листинг 5 - подключение библиотек

Объявление переменных. Переменным тегов присвоена константа Nil - значение не присвоенного указателя (листинг 6).

var

PauseTime: integer = 0; // пауза

ID3v1Tag: TID3v1Tag = nil;

ID3v2Tag: TID3v2Tag = nil;

Листинг 6 - объявление переменных

Процедура для поиска файлов в файловой системе (листинг 17).

procedure TForm1.FormCreate(Sender: TObject);

var

LList: TStringDynArray; // внутренний список файлов

LItem: TListViewItem; // список треков в ListView1

path: string; // папка в которой будет идти поиск файлов

i: Integer;

begin //начало блока операторов

{ // определение папки для поиска }

if TDirectory.Exists('/storage/') then

path := '/storage/'

else path := '/sdcard/';

Листинг 17 - процедура для поиска файлов

Функция для поиска только mp3-файлов и вывода при их отсутствии (листинг 18).

{ // поиск mp3 файлов }

try //начало блока инструкция для перехвата ошибок

LList:=TDirectory.GetFiles(path,'*.mp3', TSearchOption.soAllDirectories);

except

ShowMessage('Нет файлов mp3!');

Exit;

end;

Листинг 18 - поиск mp3-файлов

Отображение названий файлов в объекте ListView1 (листинг 19).

{ // обновление списка треков }

ListView1.BeginUpdate;

try

for i := 0 to Length(LList) - 1 do

begin

LItem := ListView1.Items.Add;

// удаления расширения файла из списка LItem.Text:=TPath.GetFileNameWithoutExtension(LList[I]);

// полный путь в Detail

LItem.Detail := LList[I];

end;

finally

ListView1.EndUpdate;

end;

Листинг 19 - отображение названий файлов

Процедура для обработки действий пользователя (листинг 20).

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;

Shift: TShiftState);

begin

if Key = vkHardwareBack then

begin

if TabControl1.ActiveTab = TabItem2 then

begin

TabControl1.ActiveTab := TabItem1;

Key := 0;

end;

end;

end;

Листинг 20 - процедура для обработки действий пользователя

Процедура для чтения тегов ID3v2 и отображения их в TabItem2 (см. приложение 2).

Процедура для чтения тегов ID3v1 и отображения их в TabItem2 (см. приложение 3).

Процедура для отображения треков и их выбора (листинг 23).

procedure TForm1.ListView1Change(Sender: TObject);

begin

PlayClick(Self);

end;

Листинг 23 - выбор трека

Процедура для обработки кнопки "Пауза". Остановка таймера на текущем времени воспроизведения, остановка трека (листинг 24).

procedure TForm1.PauseClick(Sender: TObject);

begin

if (MediaPlayer1.State = TMediaState.Playing) then

begin

// текущее время воспроизведения трека

PauseTime := MediaPlayer1.Media.CurrentTime;

// остановка проигрывания

MediaPlayer1.Stop;

end;

end;

Листинг 24 - кнопка "Пауза"

Процедура для обработки кнопки "Play". Начало проигрывания трека, остановка таймера, перезапуск трекбара для перемотки, проверка на паузу, чтение тегов, запуск таймера, включение кнопок (см. приложение 4).

Процедура для обработки кнопки "Следующий трек". Если за проигрываемым треком есть еще один трек, команда передается следующему блоку операторов. Если не активирована кнопка "Случайное воспроизведение", то начинает проигрываться следующий трек, иначе включается случайный трек.

Если активирована кнопка "Повторное воспроизведение" (отдельно или вместе с кнопкой "Случайное воспроизведение"), но при нажатии на "Следующий трек", текущий трек начинает проигрываться сначала (см. приложение 5).

Процедура для обработки кнопки "Предыдущий трек". Если перед проигрываемым треком есть еще треки, то команда передается следующему блоку операторов. Иначе кнопки становятся неактивными. Они активируются только при выборе трека в ListView1 (листинг 27).

procedure TForm1.PlayPrevClick(Sender: TObject);

begin

if (ListView1.ItemIndex<>-1) AND ListView1.ItemIndex > 0) then

begin

ListView1.ItemIndex := ListView1.ItemIndex - 1;

PauseTime := 0;

PlayClick(Self);

end

else begin

StopClear;

end;

end;

Листинг 27 - кнопка "Предыдущий трек"

Вспомогательная процедура для повторной активации элементов программы (листинг 28).

procedure TForm1.StopClear;

begin

MediaPlayer1.Stop;

Timer1.Enabled := False;

ListView1.ItemIndex := -1;

TrackBar1.Value := 0;

TrackBar1.Enabled := False;

PauseTime := 0;

//включение кнопок

PlayPrev.Enabled := False;

Play.Enabled := False;

Pause.Enabled := False;

Stop.Enabled := False;

PlayNext.Enabled := False;

end;

Листинг 29 - вспомогательная процедура

Процедура для обработки кнопки "Стоп" (листинг 30).

procedure TForm1.StopClick(Sender: TObject);

begin

if (MediaPlayer1.State = TMediaState.Playing) then

begin

StopClear;

end;

end;

Листинг 30 - кнопка "Стоп"

Процедура для обработки трекбара. Смена позиции трекбара на текущую позицию воспроизведения. Обработка времени проигрывания. При завершении проигрывания трека, начинается следующий (см. приложение 6).

Вспомогательная процедура для обработки ошибок при воспроизведении (листинг 32).

procedure TForm1.TrackBar1Change(Sender: TObject);

begin

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

// трекбара и MediaPlayer1.CurrentTime при воспроизведении

if TrackBar1.Tag = 0 then

begin

// проверка на Паузу

if (MediaPlayer1.State = TMediaState.Stopped) AND (PauseTime <> 0) then

begin

PauseTime := Round(TrackBar1.Value);

end

else

begin

MediaPlayer1.CurrentTime:= Round(TrackBar1.Value);

end;

end;

end;

end.

Размещено на Allbest.ru

...

Подобные документы

  • Создание, изучение и разработка приложение на Android. Среда разработки приложения DelphiXE5. Установка и настройка среды программирования. Этапы разработки приложения. Инструменты для упрощения конструирования графического интерфейса пользователя.

    курсовая работа [1,6 M], добавлен 19.04.2017

  • Структура и архитектура платформы Android. Основные достоинства и недостатки операционной системы Android. Среда разработки Eclipse, платформа Java. Подготовка среды разработки. Вкладка "Погода", "Курс валют", "Новости". Просмотр полной новости.

    дипломная работа [1,0 M], добавлен 11.07.2014

  • Архитектура и история создания операционной системы Android. Язык программирования Java. Выбор средства для реализации Android приложения. Программная реализация Android приложения. Проведение тестирования разработанного программного обеспечения.

    курсовая работа [167,8 K], добавлен 18.01.2017

  • Средства разработки развивающих и обучающих игр и используемой программы. Среда выполнения и Dalvik. Разработка приложения для платформы Android. Графический интерфейс и обработка касаний экрана. Разработка экранов приложения и их взаимодействия.

    дипломная работа [2,1 M], добавлен 18.01.2016

  • Знакомство с особенностями и этапами разработки приложения для платформы Android. Рассмотрение функций персонажа: бег, прыжок, взаимодействие с объектами. Анализ блок-схемы алгоритма генерации платформ. Способы настройки функционала рабочей области.

    дипломная работа [3,4 M], добавлен 19.01.2017

  • Представление о системе Arduino. Структура платформы Android. Выбор средств разработки. Разработка структур данных и алгоритмов. Характеристика Bluetooth модуля, блок реле, резисторов, диодов. Графический интерфейс приложения. Написание кода программы.

    дипломная работа [4,0 M], добавлен 19.01.2017

  • Проектирование удобного приложения для комфортной навигации по файлам облачного хранилища в одном файловом менеджере. Выбор интегрированной среды разработки. Выбор инструментов для визуализации приложения. Выбор средств отслеживания HTTPзапросов.

    курсовая работа [3,6 M], добавлен 16.07.2016

  • Разработка программного обеспечения для платформы Android версии 2.3: информационное приложения для поклонников футбольной команды, с возможностью просмотра событий, статистики и иной информации о команде и ее успехах. Листинг JsonDataManager.java.

    дипломная работа [4,1 M], добавлен 24.04.2013

  • Преимущества операционной системы Android. Проектирование интерфейса приложений. Визуальные редакторы и средства кроссплатформенной разработки. Оптимизация игрового процесса, выбор фреймворка и библиотек. Классификация и характеристика игр по жанрам.

    дипломная работа [2,6 M], добавлен 10.07.2017

  • Анализ свободно распространяемых систем обучения. Главная контекстная диаграмма (модель AS-IS). Декомпозиция процесса "Регистрация, поддержка пользователей". Выбор методологий моделирования и инструментария. Руководство по установке приложения на Android.

    дипломная работа [2,1 M], добавлен 29.07.2016

  • Обзор существующих популярных программ для просмотра погоды на ОС Android. Операционные системы современных смартфонов. Ключевые особенности Android, технология Java. Разработка программной части, выбор языка, описание алгоритма, ее логической структуры.

    курсовая работа [911,5 K], добавлен 16.04.2014

  • Архитектура операционной системы Android, набор библиотек для обеспечения базового функционала приложений и виртуальная машина Dalvik. Объектно-ориентированный язык программирования Java как инструмент разработки мобильных приложений для ОС Android.

    дипломная работа [1,6 M], добавлен 08.07.2015

  • Характеристика работы операционной системы Android, используемой для мобильных телефонов. Создание Android проекта в среда разработки Eclipse. Общая структура и функции файла манифест. Компоненты Android приложения. Способы осуществления разметки.

    курсовая работа [1,0 M], добавлен 15.11.2012

  • Создание приложения для Android на языке Java. Переключатель языка и варианты перевода, которые появляются, когда пользователь вводит текст в поле. Возможность просмотра истории переводов. Разработка и подготовка вида экранов тестового приложения.

    курсовая работа [114,8 K], добавлен 03.08.2017

  • Общие характеристики операционной системы Android. Разработка приложения на основе создания менеджера файлов. Получение с помощью приложения доступа к файлам, хранящимся в "облачном хранилище" в сети Интернет. Расчет стоимости программного обеспечения.

    дипломная работа [2,7 M], добавлен 03.04.2015

  • Современное состояние рынка мобильных приложений. Основные подходы к разработке мобильных приложений. Обоснование выбора целевой группы потребителей приложения. Этапы проектирования и разработки мобильного приложения для операционной системы Android.

    курсовая работа [987,1 K], добавлен 27.06.2019

  • Общая схема работы приложения Android. Разработка обучающего приложения для операционной системы Android, назначение которого - развитие речи посредством произнесения скороговорок. Описание компонентов разработанного приложения, его тестирование.

    дипломная работа [1,2 M], добавлен 04.02.2016

  • Структура Android-приложений. Особенности игрового движка. Алгоритмизация и программирование. Список игровых состояний. Настройка, отладка и тестирование программы. Разработка руководства пользователя. Тестирование инсталляции и отображения элементов.

    дипломная работа [4,5 M], добавлен 19.01.2017

  • Обзор мобильной ОС Android. Выбор инструментов и технологий. Проектирование прототипа графического интерфейса. Характеристика и описание пользовательского интерфейса. Проектирование и разработка базы данных. Определение списка необходимых разрешений.

    курсовая работа [376,6 K], добавлен 13.09.2017

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

    курсовая работа [308,5 K], добавлен 14.10.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.