Permissions

READ_PHONE_STATE

To auto-stop audio playback when your phone starts ringing.

WRITE_EXTERNAL_STORAGE

To save playlists and bookmarks.

RECORD_AUDIO

To get real-time audio waveform data for the visualizer. See the link below to get the details:

http://developer.android.com/reference/android/media/audiofx/Visualizer.html

WAKE_LOCK

To prevent your device from sleeping during playback.

INTERNET & ACCESS_NETWORK_STATE

For ads, and error & usage reporting.

-> FAQ: How do I turn off usage reporting?

MODIFY_AUDIO_SETTINGS

For volume control and sound effects.

BLUETOOTH

To detect the connection state change of Bluetooth headset.