Music Player Android Application
Music Player Android Application
i
CERTIFICATE
Candidate’s Declaration
I hereby declare that the work presented in this report entitled “Music Player Android
Application” in partial fulfillment of the requirements for the award of the degree of Bachelor
of Technology in Computer Science and Engineering/Information Technology submitted in
the department of Computer Science & Engineering and Information Technology, “Jaypee
University of Information Technology Waknaghat is an authentic record of my own work carried
out over a period from January 2021 to May 2021 under the supervision of Dr. Amol Vasudeva,
Assistant Professor (Senior Grade) of CSE Department”.
The matter embodied in the report has not been submitted for the award of any other degree or
diploma.
(Student Signature)
SachinChhonkar 171302
ii
This is to certify that the above statement made by the candidate is true to the best of my
knowledge.
(Supervisor Signature)
Dr.Amol Vasudeva
Department
iii
ACKNOWLEDGEMENT
“We would like to express our special thanks of gratitude to our supervisor Dr. Amol
Vasudeva who gave us the golden opportunity to do this wonderful project on Android
Applications, which also helped us in doing a lot of research and we came to know about so
many new things about android. We are really thankful to him”.
Javed Alam
Sachin Chhonkar
iv
CONTENTS
CERTIFICATE.......................................................................................................................i
ACKNOWLEDGEMENT......................................................................................................ii
LIST OF FIGURES................................................................................................................iii
ABSTRACT.............................................................................................................................iv
1. INTRODUCTION
1.1. INTRODUCTION..................................................................................................1
1.2) PROBLEM STATEMENT..............................................................................6
1.3) OBJECTIVES...............................................................................................................6
1.4) METHODOLGY...........................................................................................................7
1.5) ORGANISATION.........................................................................................................8
2) LITEATURE SURVEY................................................................................................9
5.) CONCLUSION............................................................................................................59
6.) REFERENCES............................................................................................................60
v
List of Figures
1. Android Logo 2
2. Android Architecture 3
7. Android Architecture 13
vi
ABSTRACT
In recent years, the emergence of smart phones has changed the definition of mobile phones.
“Phone is no longer just a communication tool, but also an essential part of the people's
communication and daily life. Various applications added unlimited fun for people's lives. It is
certain that the future of the network will be the mobile terminal. Now the Android system in the
electronics market is becoming more and more popular, especially in the smartphone market”.
Because of the open source, some of the development tools are free, so there are plenty of
applications generated.
So our aim is to develop an android application to give information about the details of
International Conference on Image Information Processing and to develop a media player which
can run almost any media content in any form.
vii
CHAPTER 1: INTRODUCTION
1.1 Introduction
In recent years, the emergence of smart phones has changed the definition of mobile phones.
“Phone is no longer just a communication tool, but also an essential part of the people's
communication and daily life. Various applications added unlimited fun for people's lives. It is
certain that the future of the network will be the mobile terminal. Now the Android system in the
electronics market is becoming more and more popular, especially in the smartphone market.
Because of the open source, some of the development tools are free, so there are plenty of
applications generated. This greatly inspired the people to use the Android system”. “In addition,
it provides a very convenient hardware platform for developers so that they can spend less effort
to realize their ideas. This makes Android can get further development . As the smart phones and
Android system getting popular, the operations like listening to music, watching videos, tweeting
and some others can be moved from the computer to a phone now. The applications on the
market today are mostly commercial applications, and contain a large number of built-in
advertising. If the user prefers to remove the built-in advertising, a certain price must be paid to
reach that and this is not convenient. Meanwhile, because of the unfair competition of IT, many
applications built illegal program to steal user information and cause some damage to user’s
personal privacy. Sometimes, users will pay more attention to the user experience of software.
Therefore, the development of the application can not only be limited to the function, more
attention should be paid to the user's experience. After studying some previous Android
applications and access to large amounts of materials, we utilize the Java language, the Eclipse
platform, Android ADT and the Android SDK to develop these three mobile applications”.
“These systems have a nice interface and smooth operation. These Apps won’t steal any personal
information, but can exclude useless information and bring a wonderful user experience”.
1.1.1 Android
“Android is a mobile operating system (OS) currently developed by Google, based on the Linux
kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets”.
“Android's user interface is mainly based on direct manipulation, using touch gestures that
loosely
correspond to real-world actions, such as swiping, tapping and pinching, to manipulate on-screen
1
objects, along with a virtual keyboard for text input. In addition to touchscreen devices, Google
2
has further developed Android TV for televisions, Android Auto for cars, and Android Wear for
wrist watches, each with a specialized user interface”.
Figure1.Android Logo
“We studied the Android system architecture. Android system is a Linux-based system, Use of
the software stack architecture design patterns . As shown in Figure 1, the Android architecture
consists of four layers: Linux kernel, Libraries and Android runtime, Application framework and
Applications [5-8]. Each layer of the lower encapsulation, while providing call interface to the
upper”.
3
Figure2. Android Architecture
A) Applications:
“Android app will be shipped with a set of core applications including client, SMS
program, calendar, maps, browser, contacts, and others. All these application programs
are developed in Java”.
B) Application Framework :
“The developer is allowed to access all the API framework of the core programs. The
application framework simplifies the reuse of its components. Any other app can release
its functional components and all other apps can access and use this component (but have
to follow the security of the framework). Same as the users can be able to substitute the
program components with this reuse mechanism”
4
C) Libraries and Android Runtime
“The library is divided in to two components: Android Runtime and Android Library.
Android Runtime is consisted of a Java Core Library and Dalvik virtual machine. The
Core Library provides Java core library with most functions. Dalvik virtual machine
is register virtual machine and makes some specific improvements for mobile device.
Android system library is support the application framework, it is also an important link
connecting between application framework and Linux Kernel. This system library is
developed in C or C++ language. These libraries can also be utilized by the different
components in the Android system. They provide service for the developers through the
application framework”.
D) Linux Kernel
“The kernel system service provided by Android inner nuclear layer is based on Linux 2.6
kernel, Operations like internal storage, process management, internet protocol, bottom-
drive and other core service are all based on Linux kernel”.
“A software development kit (SDK or "devkit") has many definitions but it is usually callded a
set of software development tools which help us in many ways or allows the creation of
applications which can be useful in future in a lot of things as seen from this report for a certain
softwarepackage, software framework, hardware platform, computer system, video game
console, operating system, or similar development platform. To create applications you have to
download this software development kit”. “For example, if you want to create an Android app
you require an SDK with java programming, for iOS apps you require an iOS SDK with swift
language, and to develop MS Windows apps you require thepackage, software framework,
hardware platform, computer system, video game console, operating system, or similar
development platform. To create applications you have to download this software development
kit”. “For example, if you want to create an Android app you require an SDK with java
5
programming, for iOS apps you
6
require an iOS SDK with swift language, and to develop MS Windows apps you require the
.net language. There are also SDKs that are installed in apps to provide analytics and data about
activity. Prominent examples include Google and Facebook”.
7
1.1.4 Android Studio
“Android Studio is an integrated development environment (IDE) for developing for the
Android platform. It was announced on May 16, 2013 at the Google I/Oconference”. “Android
Studio is freely available under the Apache License 2.0. Android Studio was in early access
preview stage starting from version 0.1 in May 2013, then entered beta stage starting from
versionconference”. “Android Studio is freely available under the Apache License 2.0. Android
Studio was in early access preview stage starting from version 0.1 in May 2013, then entered
beta stage starting from version
0.8 which was released in June 2014”. “The first stable build was released in December 2014,
starting from version 1.0. Based on JetBrains' software, Android Studio is designed specifically
for Android development. It is available for download on Windows, Mac OS Xand Linux,
and replaced Eclipse Android Development Tools (ADT) as Google's primary IDE for native
Android application development”.
1.2.1 “To develop an android application to give information about the details of International
Conference on Image Information Processing. This application will allow all users to
receive all kinds of information regarding ICIIP such as Program schedule, Keynote
Speakers, Important Dates, etc. User can access this application anywhere and anytime
using his or her Smartphone”.
1.2.2 Many users like to watch video and listen to music using their mobile phone, “but the
media player has many limitations. With a rapid development of communication and
8
network,
9
multimedia based technology is adopted in media player. So our aim is to develop a media
player which can run almost any media content in any form”.
10
1.3 Objective
There are 5 objectives in this project:
1. To setup Android software development kit.
2. To write a program that can do various tasks such as running media(audio & video),
displaying information, sending notifications, Bitmapping, asynchronous multi-
tasking.
1.4 Methodology
“This project is made by using Android studio, Virtual emulator and Photoshop. The
programming languages used for building the application are Java, XML and C++.
User interface is handled using XML codes. Backend programming is handled mainly through
set of java codes. Native libraries are accessed through set of predefined C++ codes”.
11
Google APIs
12
Google APIs ARM EABI v7a System Image
GPU Debugging tools
Android Support Library
Google play services
Google USB drivers
Google Web drivers
Intel x86 Emulator Acclerator(HAXM installer)
1.5 Organization:
Chapter 1 “Describes a general introduction of the project, problem statement project aims and
project scope”.
Chapter 2 “Provides details literature review that includes an introduction to some basic
concepts and a survey of existing works in the areas of developing the android application. This
chapter explains in detail all the researches, studies, theories and gathering that have been make
throughout the project”.
Chapter 3 “Discusses the system and design of the project which provides a detailed description
of the design to develop an application”.
Chapter 5 “Concludes the project and gives suggestions for future work”.
13
CHAPTER 2 : LITERATURE REVIEW
“The authors in [1] have tested the app in three environments including hardware, software and
network. Test hardware environment is Lenovo Y460 laptop and millet M1 phone; software
environment is windows 7 and phone system environment is android 4.0.3”. “Network
environment is China Mobile which is 10M broadband, WIFI LAN and China Mobile GPRS
network.By testing each function on mobile phone and the computer simulator, the result showed
that video player and audio player run well and no advertising”. “Sina weibo client can
successfully complete OAuth2.0 certificate authority and login and collect the basic data of the
user information from sina server and no redundant information. Expected effect is achieved
after testing all the functions”. “They says that since the Weibo client has to access to the
network, when tested on an android phone, the performance under the environment of WIFI
network and mobile 2G GPRS network can meet the expected requirements”.
“This article [2] gives a detailed introduction of android application framework and the working
principal of android applications. Finally, a music player on the android platform was put
forward as an example to illustrate this mechanism”.
14
Paper 3: The android Application Development College Challenge
“The authors in [3] say that android application development college challenge has only been
held two times, but it greatly encourages and promotes the creativity of the college students”.
“With more and more competitive teams participating the contest, it will be harder to win an
award. However, many exciting applications will be presented in the contest. This challenge
gives us an opportunity to learn about that a lot of ideas we think about can be implemented on
android platform. At the same time, the contest provides a stage for android developer to discuss
and communicate with each other. This can effectively promote the development of android and
attract more software engineers to develop applications on android platform”.
“This paper [4] proposes a MDE approach for android applications development, which
addresses how to model specific aspects of android applications, as intent and a data/service
request, using standard UML notations”. “Moreover, it supports static and behavioral code
generation from UML class and sequence diagrams, according to the rules imposed by the
android platform. To demonstrate our approach, a case study was conducted, in which an android
application was modeled in UML and code was generated from it. To generate code, the
extension of GenCode was used”. “However, the actual version of GenCode tool that supports
the proposed approach, only made an automatic transformation from UML class and sequence
diagrams to the target android Java code, without consider any optimization in the generated
code. As future work, we plan to extend this tool in order to consider the good practices for
android development , and thus generating efficient code”.
16
Figure 6. System processes of media player
Paper 6: The Android - A Widely Growing Mobile Operating System With its Mobile based
Applications[6]
“Android operating system is one of the most widely used mobile Operating System these days and also
enhancing its use for making betterment in different areas of life. Android mobile operating system is
based on the Linux kernel and is developed by Google and primarily designed for smartphones and
tablets. Android Operating System consist of four main layers, the specifying architecture is given in this
paper. The advanced Smart applications of android in mobile, real-time and wireless sensor network are
widening their service areas. Android is a disruptive technology, which was introduced initially on mobile
handsets, but has much wider potential. In this paper we are studying, one of the smart and enhancing
Android operating system application which are based on Automated and tracking from remote distance.
These application helps students, teachers, parents, patients and users of home appliance as anytime and
anywhere basis. Being part of today’s advance world, using fastest acceptable and mobile Android
Operating System it’s possible to develop automated attendance system, secure transferring of medical
data and automated home appliance monitoring system”.
17
Figure 7.Android Architecture
18
CHAPTER 3:SYSTEM DEVELOPMENT
To add a navigation drawer, declare wer user interface with aDrawerLawet object as the root
view of werlawet. “Inside theDrawerLawet, add one view that contains the main content for the
screen (wer primary lawet when the drawer is hidden) and another view that contains the
contents of the navigation drawer”.
“For example, the following lawet uses a DrawerLawet with two child views: a FrameLawet to
contain the main content (populated by a Fragment at runtime), and a ListView for the
navigation drawer”.
“The main content view is set to match the parent view's width and height, because it
represents the entire UI when the navigation drawer is hidden”.
“The drawer view specifies its width in dp units and the height matches the parent view. The
drawer width should be no more than 320dp so the user can always see a portion of the main
content”.
For example, here's how we can initialize the navigation list with a string array:
20
}
}
“This code also calls setOnItemClickListener() to receive click events in the navigation drawer's
list. The next section shows how to implement this interface and change the content view when
the user selects an item”.
“What we do in the onItemClick() method depends on how we've implemented wer app
structure. In the following example, selecting each item in the list inserts a different Fragment
into the main content view (theFrameLawet element identified by the
R.id.content_frame ID)”:
21
Listen for Open and Close Events
“To listen for drawer open and close events, call setDrawerListener() on wer DrawerLawet and
pass it an implementation of DrawerLawet.DrawerListener. This interface provides callbacks for
drawer events such asonDrawerOpened() and onDrawerClosed()”
“As discussed in the Navigation Drawer design guide, we should modify the contents of the
action bar when the drawer is visible, such as to change the title and remove action items that are
contextual to the main content. The following code shows how we can do so by overriding
DrawerLawet.DrawerListener callback methods with an instance of the ActionBarDrawerToggle
22
23
}
}
Button
1. “In Android Studio, from the res/lawet directory, edit thecontent_my.xml file”.
res/lawet/content_my.xml
4. “Within the MainActivity class, add the sendMessage() method stub shown below”.
MainActivity.java
publicvoidsendMessage(View view){
}
“In order for the system to match this method to the method name given to android:onClick,
the signature must be exactly as shown. Specifically, the method must”:
o Be public
24
o Have a void return value
25
o “Have a View as the only parameter (this will be the View that was clicked)”
Next, we’ll fill in this method to read the contents of the text field and deliver that text to
another activity.
Build an Intent
1. “In MainActivity.java, inside the sendMessage() method, create an Intent to start an activity
calledDisplayMessageActivity with the following code”:
java/com.shashwat.iciip/MainActivity.java
o “A Context as its first parameter (this is used because the Activity class is a subclass
of Context)”
o “The Class of the app component to which the system should deliver the Intent (in this
case, the activity that should be started)”
MainActivity.java
importandroid.content.Intent;
3. Inside the sendMessage() method, use findViewById() to get the EditText element.
MainActivity.java
26
EditTexteditText=(EditText)findViewById(R.id.edit_message);
}
In Android Studio, press Alt + Enter (option + return on Mac) to import missing classes”.
5. Assign the text to a local message variable, and use the putExtra() method to add its text value
to the intent.
MainActivity.java
“An Intent can carry data types as key-value pairs called extras. The putExtra() method takes
the key name in the first parameter and the value in the second parameter”.
6. At the top of the MyActivity class, add the EXTRA_MESSAGE definition as follows:
MainActivity.java
“For the next activity to query the extra data, we should define the key for wer intent's extra
using a public constant. It's generally a good practice to define keys for intent extras using
wer app's package name as a prefix. This ensures the keys are unique, in case wer app
interacts with other apps”.
27
7. “In the sendMessage() method, to finish the intent, call the startActivity() method, passing it
theIntent object created in step 1”.
With this new code, the complete sendMessage() method that's invoked by the Send button now
looks like this:
MainActivity.java
“The system receives this call and starts an instance of the Activity specified by the Intent. Now
we need to create the DisplayMessageActivity class in order for this to work”.
o Title: My Message
o Package name:
28
3. Open the DisplayMessageActivity.java file.
“The class already includes an implementation of the required onCreate() method. We update
the implementation of this method later”.
Intentintent=getIntent();
<RelativeLawetxmlns:android="http://schemas.android.com/apk/res/android"
...
29
android:id="@+id/content">
</RelativeLawet>
TextViewtextView=newTextView(this);
textView.setTextSize(40);
textView.setText(message);
RelativeLawetlawet=(RelativeLawet)findViewById(R.id.content);
lawet.addView(textView);
“In Android Studio, press Alt + Enter (option + return on Mac) to import missing classes”.
30
3.3 Video Player
Video Player is achieved through the Android Studio platform.It begins with the study of
operating “mechanism, Android platform media layer structure, xml customizable interface”,
Content Providers achieves file scanning to get a list of media files, MediaPlayer class, file
parsing, “Surface Flinger interface. After that, we could develop an Android-based mobile video
player. Realize media library, video player, file opening, audio, video, photographs and other
functions. Figure below is system flow chart”.
“The software interface is defined through XML files. XML layout files control view, is not
only simple, but also isolated the View control logic from Java code and controlled by
inserted into XML files. Reflects the MVC principle in a better way and also reflects the
principle of separation of logic and views. This software obtains the list of media files by
scanning through Content Providers. Content Providers is recognized as a bridge between the
data storing and searching across programs. The function is to achieve data sharing among
different Apps, it is the only way to share data with other apps. Figure below shows the media
layer structure”.
31
Figure 9.Media Layer Structure
“In the Android media layer, the most important class is MediaPlayer. MediaPlayer class and its
associated structures are shown in Figure below”.
32
“Vitamio is an open multimedia framework for Android, with hardware accelerated decoder
and renderer. Vitamio can play 720p/1080p HD mp4,mkv,m4v,mov,flv,avi,rmvb,rm,ts,tp and
many other video formats in Android and iOS. Almost all popular streaming protocols are
supported by Vitamio, including HLS(m3u8), MMS, RTSP, RTMP, and HTTP”.
Copy the recourse like class,picture from Demo into app project
AUDIO PLAYER
MediaPlayer class can be used to control playback of audio files and streams.
State Diagram
“Playback control of audio/video files and streams is managed as a state machine. The following
diagram shows the life cycle and the states of a MediaPlayer object driven by the supported
playback control operations. The ovals represent the states a MediaPlayer object may reside in.
The arcs represent the playback control operations that drive the object state transition. There are
two types of arcs. The arcs with a single arrow head represent synchronous method calls, while
those with a double arrow head represent asynchronous method calls”.
33
Figure 10.State Diagram of audio player
“From this state diagram, one can see that a MediaPlayer object has the following states”:
“When a MediaPlayer object is just created using new or after reset() is called, it is in
the Idle state; and after release() is called, it is in the Endstate. Between these two states is the
life cycle of the MediaPlayer object”.
o “It is also recommended that once a MediaPlayer object is no longer being used,
call release() immediately so that resources used by the internal player engine associated
with the MediaPlayer object can be released immediately. Resource may include singleton
resources such as hardware acceleration components and failure to call release() may
cause subsequent instances of MediaPlayer objects to fallback to software
implementations or fail altogether. Once the MediaPlayer object is in the End state, it can
no longer be used and there is no way to bring it back to any other state”.
o “Furthermore, the MediaPlayer objects created using new is in the Idle state, while those
created with one of the overloaded convenient createmethods are NOT in the Idle state”.
fact, the objects are in the Prepared state if the creation using create method is
successful.
“In general, some playback control operation may fail due to various reasons, such as
unsupported audio/video format, poorly interleaved audio/video, resolution too high,
streaming timeout, and the like. Thus, error reporting and recovery is an important
concern under these circumstances. Sometimes, due to programming errors, invoking a
playback control operation in an invalid state may also occur. Under all these error
conditions, the internal player engine invokes a user supplied OnErrorListener.onError()
method if an OnErrorListener has been registered beforehand”
via setOnErrorListener(android.media.MediaPlayer.OnErrorListener).
o “It is important to note that once an error occurs, the MediaPlayer object enters
the Error state (except as noted above), even if an error listener has not been registered by
the application”.
o “In order to reuse a MediaPlayer object that is in the Error state and recover
from the error, reset() can be called to restore the object to its Idlestate”.
35
o “It is good programming practice to have your application register a
OnErrorListener to look out for error notifications from the internal player engine”.
36
o “IllegalStateException is thrown to prevent programming errors such as
calling prepare(), prepareAsync(), or one of the overloadedsetDataSource methods in an
invalid state”.
“A MediaPlayer object must first enter the Prepared state before playback can be started”.
o “There are two ways (synchronous vs. asynchronous) that the Prepared state
can be reached: either a call to prepare() (synchronous) which transfers the
object to the Prepared state once the method call returns, or a call
to prepareAsync() (asynchronous) which first transfers the object to the Preparing state
after the call returns (which occurs almost right way) while the internal player engine
continues working on the rest of preparation work until the preparation work completes.
When the preparation completes or when prepare() call returns, the internal player engine
then calls a user supplied callback method, onPrepared() of the OnPreparedListener
interface, if an OnPreparedListener is registered beforehand
via setOnPreparedListener(android.media.MediaPlayer.OnPreparedListener)”.
o “It is important to note that the Preparing state is a transient state, and the behavior of
calling any method with side effect while a MediaPlayer object is in the Preparing state is
undefined”.
37
o “While in the Prepared state, properties such as audio/sound volume,
screenOnWhilePlaying, looping can be adjusted by invoking the corresponding
set methods”.
“To start the playback, start() must be called. After start() returns successfully, the
MediaPlayer object is in the Started state. isPlaying() can be called to test whether
the MediaPlayer object is in the Started state”.
o “While in the Started state, the internal player engine calls a user
supplied OnBufferingUpdateListener.onBufferingUpdate() callback
method if a OnBufferingUpdateListener has been registered
beforehand
via setOnBufferingUpdateListener(OnBufferingUpdateListener). This callback allows
applications to keep track of the buffering status while streaming audio/video”.
o Calling start() has not effect on a MediaPlayer object that is already in the Started state.
“Playback can be paused and stopped, and the current playback position can be adjusted.
Playback can be paused via pause(). When the call topause() returns, the MediaPlayer object
enters the Paused state. Note that the transition from the Started state to the Paused state
and vice versa happens asynchronously in the player engine. It may take some time before
the state is updated in calls to and it can be a number of seconds in the case of streamed
content”. and it can be a number of seconds in the case of streamed content”.
o “Calling start() to resume playback for a paused MediaPlayer object, and the resumed
playback position is the same as where it was paused. When the call to start() returns, the
paused MediaPlayer object goes back to the Started state”.
o Calling pause() has no effect on a MediaPlayer object that is already in the Paused state.
o “Calling stop() has no effect on a MediaPlayer object that is already in the Stopped state”.
38
The playback position can be adjusted with a call to seekTo(int).
o “Although the asynchronuous seekTo(int) call returns right way, the actual seek
operation may take a while to finish, especially for audio/video being streamed. When
the actual seek operation completes, the internal player engine calls a user supplied
OnSeekComplete.onSeekComplete() if an OnSeekCompleteListener has been
registered beforehand via setOnSeekCompleteListener(OnSeekCompleteListener)”.
o “Furthermore, the actual current playback position can be retrieved with a call
to getCurrentPosition(), which is helpful for applications such as a Music player that need
to keep track of the playback progress”.
When the playback reaches the end of stream, the playback completes.
o “If the looping mode was set to false , the player engine calls a user supplied
callback method, OnCompletion.onCompletion(), if a OnCompletionListener is
registered beforehand via setOnCompletionListener(OnCompletionListener).
The invoke of the callback signals that the object is now in the
PlaybackCompleted state”.
o While in the PlaybackCompleted state, calling start() can restart the playback from
the beginning of the audio/video source.
39
interface “MediaStore.Audio.Albu
mColumns Columns
representing an album”
Class “MediaStore.Audio.
Albums Contains
artists for audio
files”
interface “MediaStore.Audio.ArtistColum
ns Columns representing an
artist”
Class “MediaStore.Audio.Artists
Contains artists for audio
files”
interface “MediaStore.Audio.AudioColumns
Columns for audio file that show up in multiple tables.”
Class “MediaStore.Audio.Genres
Contains all genres for audio
files”
interface “MediaStore.Audio.GenresColumns
Columns representing an audio genre”
Class “MediaStore.Audio.Media”
Class “MediaStore.Audio.Playlists
Contains playlists for audio
files”
40
interface “MediaStore.Audio.PlaylistsColum
ns Columns representing a playlist”
Class “MediaStore.Audio.Radio”
Public constructors
“MediaStore.Audio()”
Public methods
41
Features
1.Equalizer
“An Equalizer is used to alter the frequency response of a particular music source or of the main
output mix”.
“An application creates an Equalizer object to instantiate and control an Equalizer engine in
the audio framework. The application can either simply use predefined presets or have a more
precise control of the gain in each frequency band controlled by the equalizer”.
“The methods, parameter types and units exposed by the Equalizer implementation are
directly mapping those defined by the OpenSL ES 1.0.1 Specification
(http://www.khronos.org/opensles/) for the SLEqualizerItf interface. Please refer to this
specification for more details”.
“To attach the Equalizer to a particular AudioTrack or MediaPlayer, specify the audio session
ID of this AudioTrack or MediaPlayer when constructing the Equalizer”.
interface Equalizer.OnParameterChangeListener
creating an equalizer
42
float volume = 1;
float speed = 0.05f;
43
This is my ShakeDetector code.
44
45
OnCompletionListener code. package com.grifball.info;
import android.media.MediaPlayer;
46
2. Sleep timer
PlayActivity.java
47
.
48
Linux
“At least 1 GB for Android SDK, emulator system images, and caches”.
49
CHAPTER 4: PERFORMANCE ANALYSIS
50
51
52
53
CHAPTER 5: CONCLUSION
“Android as a full, open and free mobile device platform, with its powerful function and good
user experience rapidly developed into the most popular mobile operating system. This report
givesan overview of the different challenges and issues faced in android app development The
experience of developing an android app is quite challenging, motivating as well as satisfying”.
“This report shows an approach for designing of media player. Media player should consider the
improvement in scenario such as decode efficiency needs to be improved, synchronization
between multiple media streams, and display of the original data. Use of FFmpeg decode library
seems to be an alternative method. Research shows FFmpeg supports most media formats which
gives a high decode efficiency. Different approaches that can be considered are plug-in extension
technology, multimedia based on hierarchy, media player based on file browser, media player
based on FFmpeg, media player based on file server, etc”.
54
REFRENCES
[1] Ma, Li, Lei Gu, and Jin Wang. "Research and Development of Mobile Application for
android Platform." (2014).
[2] Liu, Jianye, and Jiankun Yu. "Research on Development of android Applications." Fourth
International conference on Intelligent Networks and Intelligent Systems. 2011.
[3] Peng, Bin, Jinming Yue, and Chen Tianzhou. "The android Application Development
College Challenge." High Performance Computing and Communication & 2012 IEEE 9th
International Conference on Embedded Software and Systems (HPCC-ICESS), 2012 IEEE 14th
International Conference on. IEEE, 2012
[4] Parada, Abilio G., and Lisane B. de Brisolara. "A model driven approach for android
applications development." Computing System Engineering (SBESC), 2012 Brazilian
Symposium on. IEEE, 2012.
[5] Nikhil S. Sakhare , R. W. Jasutkar. “Design of Android based Media Player”. International
Journal of Science and Research (IJSR), India Online ISSN: 2319‐7064, February 2013.
[6] Amit M. Farkade, Miss. Sneha. R. Kaware. “The Android - A Widely Growing Mobile
Operating System With its Mobile based Applications” International Journal of Computer
Science and Mobile Applications, Vol.3 Issue. 1, January- 2015, pg. 39-45
55