1../frameworks/base/Media/JNI
Java local call. The goal generated after compilation is libmedia_jni.so.
Android_media_mediaplayer.cpp: the Java local call part of mediaplayer.
It defines a jninativemethod (Java local call method) type of data gmethods,
Used to describe the association information of the interface.
Android_media_mediarecorder.cpp: defines the local call Implementation of the recording.
Android_media_amrinputstream.cpp: Local call implementation related to AMR encoding.
Android_media_mediascanner.cpp: Local call implementation related to media scanning.
Soundpool/android_media_soundpool.cpp: defines the local call Implementation of the audio system.
2../frameworks/base/Media/libmedia
./Frameworks/base/include/Media/
Libmedia. So is compiled for the underlying library of multimedia, which is at the core of the android multimedia architecture.
It provides the mediaplayer, mediarecorder, mediascanner, and other interfaces to the upper layer.
Android. Meida. * is implemented by calling the libmedia. So interface through libmedia_jni.so.
It should also be noted that the mediaplayerinterface. h header file defines the mediaplayer
Underlying interface. It mainly defines the following classes:
Mediaplayerbase: the abstract base class of mediaplayerinterface, which includes audio output,
Basic interfaces for video output and playback control.
Mediaplayerinterface and mediaplayerhwinterface inherit the extensions provided by mediaplayerbase for different outputs.
3../frameworks/base/Media/libmediaplayerservice
This is the multimedia service part. compile and generate libmediaplayerservice. So.
Mediaplayerservice. cpp implements a service named media. Player.
IPC communicates with it to establish a suitable player.
In mediaplayerservice. cpp, different players are created based on the playertype.
The existing player types include pvplayer, midifile, and vorbiplayer.
Mediaplayerinterface. We can inherit mediaplayerinterface
To add a new player implementation.