Added in API level 23

MidiDeviceService


abstract class MidiDeviceService : Service
kotlin.Any
   ↳ android.content.Context
   ↳ android.content.ContextWrapper
   ↳ android.app.Service
   ↳ android.media.midi.MidiDeviceService

A service that implements a virtual MIDI device. Subclasses must implement the onGetInputPortReceivers method to provide a list of MidiReceivers to receive data sent to the device's input ports. Similarly, subclasses can call getOutputPortReceivers to fetch a list of MidiReceivers for sending data out the output ports.

To extend this class, you must declare the service in your manifest file with an intent filter with the SERVICE_INTERFACE action and meta-data to describe the virtual device. For example:

<service android:name=".VirtualDeviceService"
          android:label="@string/service_name">
      <intent-filter>
              <action android:name="android.media.midi.MidiDeviceService" />
      </intent-filter>
      <meta-data android:name="android.media.midi.MidiDeviceService"
              android:resource="@xml/device_info" />
  </service>

Summary

Constants
static String

Inherited constants
Public constructors

Public methods
MidiDeviceInfo!

Returns the MidiDeviceInfo instance for this service

Array<MidiReceiver!>!

Returns an array of MidiReceiver for the device's output ports.

open IBinder?
onBind(intent: Intent!)

open Unit

Called to notify when the virtual MIDI device running in this service has been closed by all its clients

open Unit

open Unit

Called to notify when an our MidiDeviceStatus has changed

abstract Array<MidiReceiver!>!

Returns an array of MidiReceiver for the device's input ports.

Inherited functions

Constants

SERVICE_INTERFACE

Added in API level 23
static val SERVICE_INTERFACE: String
Value: "android.media.midi.MidiDeviceService"

Public constructors

MidiDeviceService

MidiDeviceService()

Public methods

getDeviceInfo

Added in API level 23
fun getDeviceInfo(): MidiDeviceInfo!

Returns the MidiDeviceInfo instance for this service

Return
MidiDeviceInfo! the MidiDeviceInfo of the virtual MIDI device

getOutputPortReceivers

Added in API level 23
fun getOutputPortReceivers(): Array<MidiReceiver!>!

Returns an array of MidiReceiver for the device's output ports. These can be used to send data out the device's output ports.

Return
Array<MidiReceiver!>! array of MidiReceivers

onBind

Added in API level 23
open fun onBind(intent: Intent!): IBinder?
Parameters
intent Intent!: The Intent that was used to bind to this service, as given to android.content.Context#bindService. Note that any extras that were included with the Intent at that point will not be seen here.
Return
IBinder? Return an IBinder through which clients can call on to the service.

onClose

Added in API level 23
open fun onClose(): Unit

Called to notify when the virtual MIDI device running in this service has been closed by all its clients

onCreate

Added in API level 23
open fun onCreate(): Unit

onDeviceStatusChanged

Added in API level 23
open fun onDeviceStatusChanged(status: MidiDeviceStatus!): Unit

Called to notify when an our MidiDeviceStatus has changed

Parameters
status MidiDeviceStatus!: the current status of the MIDI device

onGetInputPortReceivers

Added in API level 23
abstract fun onGetInputPortReceivers(): Array<MidiReceiver!>!

Returns an array of MidiReceiver for the device's input ports. Subclasses must override this to provide the receivers which will receive data sent to the device's input ports. An empty array should be returned if the device has no input ports.

Return
Array<MidiReceiver!>! array of MidiReceivers