-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
209 lines (151 loc) · 7.25 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
last updated 05.08.2014
This project is to write some small GUI for android bbc radio.
A lot of code comes from https://code.google.com/p/aacplayer-android/
Please note the licensing and patents related to the use of these libraries.
Please see screenshot:
https://github.com/biophysics/RadioPlayer/blob/master/screen_shot.png
Please use MASTER.apk.
Freeware Advanced Audio (AAC) Player for Android
http://www.spoledge.com
The source code can be obtained at http://code.google.com/p/aacplayer-android/
This is a port of the following open source libraries to Android platform.
* FAAD2 (Freeware Advanced Audio (AAC) Decoder including SBR decoding)
* FFmpeg library (AAC and WMA decoders, ASF demuxer)
* OpenCORE aacdec library
* libmms library (MMS protocol)
COPYRIGHTS
==========
For this software the following license applies:
******************************************************************************
** AACPlayer - Freeware Advanced Audio (AAC) Player for Android
** Copyright (C) 2011 Spolecne s.r.o., http://www.spoledge.com
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 3 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program. If not, see <http://www.gnu.org/licenses/>.
******************************************************************************
NOTE-FAAD2:
This program uses FAAD2 library to decode AAC streams.
FAAD2 library is licensed under the terms of GPLv2.
For more information about FAAD2, please visit http://www.audiocoding.com/
NOTE-FFmpeg:
This software uses libraries from the FFmpeg project under the LGPLv2.1.
As the FFmpeg source code was modified (see the file ffmpeg-0.6.1.patch),
the GPL license s applied to the modified FFmpeg source code.
For more information about FFmpeg, please visit http://ffmpeg.org/
NOTE-OpenCORE:
This software uses libraries from the OpenCORE project under the Apache
License, Version 2.0. The library can be used as is without patching
if it is compiled separately (see below).
If you want to compile all libraries together - namely OpenCORE + FAAD2,
then due to a linking issue you have to patch the OpenCORE lib
(see the file jni/opencore-aacdec.patch). The patch itself as well
as the final patched files are licensed under the Apache License,
Version 2 (see jni/opencore-aacdec/Apache-LICENSE-2.0.txt).
For more information about OpenCORE aacdec, please visit
http://code.google.com/p/opencore-aacdec/
NOTE-MMS:
This program uses "libmms" library to open MMS streams.
MMS library is licensed under the terms of GPL.
For more information about libmms, please visit
http://sourceforge.net/projects/libmms/
!!! PLEASE NOTE !!!
that the use of this software may require the payment of
patent royalties. You need to consider this issue before you start
building derivative works. We are not warranting or indemnifying you in
any way for patent royalities! YOU ARE SOLELY RESPONSIBLE FOR YOUR OWN
ACTIONS!
For more information about the Microsoft ASF patents, please visit
http://en.wikipedia.org/wiki/Advanced_Systems_Format
INSTALLING
==========
Requirements:
- Android SDK - at least platform 3 (Android 1.5)
- Android NDK - r4
Preparing FFmpeg sources:
-------------------------
NOTE: Only when build from SVN. You can skip this if downloaded as a zip.
The zipped version already contains the patched FFmpeg source code.
Also you do not need to do this if you plan to not compile this particular
library (see below).
0) download FFmpeg 0.6.1 sources and extract it to a temporary directory <FFMPEG>
You can download the sources from the "Downloads" tab:
http://code.google.com/p/aacplayer-android/downloads/list
1) copy FFmpeg's directories libavcodec, libavformat and libavutil to jni/ffmpeg:
cp -R <FFMPEG>/libavcodec jni/ffmpeg
cp -R <FFMPEG>/libavformat jni/ffmpeg
cp -R <FFMPEG>/libavutil jni/ffmpeg
2) Apply patch:
patch -p0 < ffmpeg-0.6.1.patch
Preparing OpenCORE sources:
-------------------------
NOTE: Only when build from SVN. You can skip this if downloaded as a zip.
The zipped version already contains the patched OpenCORE source code.
Also you do not need to do this if you plan to not compile this particular
library (see below).
0) checkout OpenCORE aacdec sources and extract it to a temporary directory <OPENCORE>
You can also download the sources from the "Downloads" tab:
http://code.google.com/p/aacplayer-android/downloads/list
1) copy OpenCORE's directories src, include and oscl to jni/opencore-aacdec:
cp -R <OPENCORE>/src jni/opencore-aacdec
cp -R <OPENCORE>/include jni/opencore-aacdec
cp -R <OPENCORE>/oscl jni/opencore-aacdec
2) Go to directory "jni" and apply patch:
cd jni
patch -Np0 < opencore-aacdec.patch
Compiling:
----------
1) copy sample.local.properties to local.properties and edit local.properties:
(path to Android SDK)
2) copy sample.ant.properties to .ant.properties and edit .ant.properties:
- path to Android NDK
- list of AAC decoders to be compiled
- you can choose one of FAAD2, FFmpeg or OpenCORE decoders
or you can choose two or all of them - follow the instructions
in the properties file
NOTE: if you disable a particular decoder, then you do not
need its source codes, but also you cannot use at runtime !
3) run ant
4) install the APK on the emulator or a device:
adb install bin/AACPlayer-debug.apk
Note:
The makefile scripts were tested on linux platform and there is
a possibility that it won't work on windows / macosx.
RUNNING
=======
There are these options of playing AAC files:
1) playing using the FAAD2 decoder native library
+ should work on all 1.5+ platforms
- slow on emulator
- patent license is needed
2) playing using the FFmpeg decoder native library
+ should work on all 1.5+ platforms
- slow on emulator
- patent license is needed
3) playing using the OpenCORE decoder native library
+ fast on all types of devices - even those not having FPU
+ should work on all 1.5+ platforms
+ works on emulator
- patent license is needed
/* currenlty not shown in the menu:
4) playing using an internal AAC decoder (HTC Desire) by splitting the
stream into small file chunks (having the ".aac" suffix)
- only some devices support this
- does not work on emulator
- the playing is not smooth
*/
git init
git add .
git commit -m "First commit"
git remote add origin [email protected]:biophysics/RadioPlayer.git
git push -i origin master
Test