native_audio 0.0.18 copy "native_audio: ^0.0.18" to clipboard
native_audio: ^0.0.18 copied to clipboard

outdated

An audio plugin for Flutter which makes use of the native Android and iOS audio players, handling playback, notifications and external controls.

Native Audio #

An audio plugin for Flutter which makes use of the native Android and iOS audio players, handling playback, notifications and external controls (such as bluetooth).

Getting Started #

This plugin works on both Android and iOS, however the following setup is required for each platform.

Android #

Prerequisite

1. Application

Create or modify the Application class as follows:

import io.flutter.app.FlutterApplication
import io.flutter.plugin.common.PluginRegistry
import io.flutter.plugins.GeneratedPluginRegistrant
import com.danielgauci.native_audio.NativeAudioPlugin

class Application : FlutterApplication(), PluginRegistry.PluginRegistrantCallback {

    override fun onCreate() {
        super.onCreate()
        NativeAudioPlugin.setPluginRegistrantCallback(this)
    }

    override fun registerWith(registry: PluginRegistry) {
        GeneratedPluginRegistrant.registerWith(registry)
    }
}

This must be reflected in the application's AndroidManifest.xml. E.g.:

    <application
        android:name=".Application"
        ...

Note: Not calling NativeAudioPlugin.setPluginRegistrant will result in an exception being thrown when audio is played.

2. Service & Permissions

Add the following lines to your AndroidManifest.xml to register the background service for geofencing:

<receiver android:name="androidx.media.session.MediaButtonReceiver">
    <intent-filter>
        <action android:name="android.intent.action.MEDIA_BUTTON" />
    </intent-filter>
</receiver>

<service android:name="com.danielgauci.native_audio.AudioService">
    <intent-filter>
        <action android:name="android.intent.action.MEDIA_BUTTON" />
        <action android:name="android.media.browse.MediaBrowserService" />
    </intent-filter>
</service>

As well as the following lines to setup the permissions required:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

iOS #

Prerequisite

  • Flutter Project minimum iOS 10
  • Flutter Project minimum build Swift 4.2

No additional setup is required for iOS 🍏

9
likes
0
pub points
46%
popularity

Publisher

verified publisherdanielgauci.com

An audio plugin for Flutter which makes use of the native Android and iOS audio players, handling playback, notifications and external controls.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter

More

Packages that depend on native_audio