Skip to main content

Support for the Apple Media Service which provides media playback info and control.

Project description

Introduction

Documentation Status Discord Build Status Code Style: Black

Support for the Apple Media Service which provides media playback info and control.

Dependencies

This driver depends on:

Please ensure all dependencies are available on the CircuitPython filesystem. This is easily achieved by downloading the Adafruit library and driver bundle.

Installing from PyPI

On supported GNU/Linux systems like the Raspberry Pi, you can install the driver locally from PyPI. To install for current user:

pip3 install adafruit-circuitpython-ble-apple-media

To install system-wide (this may be required in some cases):

sudo pip3 install adafruit-circuitpython-ble-apple-media

To install in a virtual environment in your current project:

mkdir project-name && cd project-name
python3 -m venv .venv
source .venv/bin/activate
pip3 install adafruit-circuitpython-ble-apple-media

Usage Example

import adafruit_ble
from adafruit_ble.advertising.standard import SolicitServicesAdvertisement
from adafruit_ble_apple_media import AppleMediaService

radio = adafruit_ble.BLERadio()
a = SolicitServicesAdvertisement()
a.solicited_services.append(AppleMediaService)
radio.start_advertising(a)

while not radio.connected:
    pass

print("connected")

known_notifications = set()

i = 0
while radio.connected:
    for connection in radio.connections:
        if not connection.paired:
            connection.pair()
            print("paired")

        ams = connection[AppleMediaService]
        print("App:", ams.player_name)
        print("Title:", ams.title)
        print("Album:", ams.album)
        print("Artist:", ams.artist)
        if ams.playing:
            print("Playing")
        elif ams.paused:
            print("Paused")

        if i > 3:
            ams.toggle_play_pause()
            i = 0
    print()
    time.sleep(3)
    i += 1

print("disconnected")

Documentation

API documentation for this library can be found on Read the Docs.

For information on building library documentation, please check out this guide.

Contributing

Contributions are welcome! Please read our Code of Conduct before contributing to help this project stay welcoming.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file adafruit-circuitpython-ble-apple-media-0.9.15.tar.gz.

File metadata

File hashes

Hashes for adafruit-circuitpython-ble-apple-media-0.9.15.tar.gz
Algorithm Hash digest
SHA256 44cc205f839d3888fb075dfa74ff6d6b126fd31e90998d4e7dcc94c35dd1f41f
MD5 d36ae6d9080446ed8b4389807a978af0
BLAKE2b-256 7d6ec51a15d1ac9dfb019e3885dd4b6966aa407f47f98d1346ec225204991c92

See more details on using hashes here.

File details

Details for the file adafruit_circuitpython_ble_apple_media-0.9.15-py3-none-any.whl.

File metadata

File hashes

Hashes for adafruit_circuitpython_ble_apple_media-0.9.15-py3-none-any.whl
Algorithm Hash digest
SHA256 ed97a5d48637031b69cd1b43d35efe832ec64b3abeb5a64226a209f347a19283
MD5 d7c40d4e4f3f345a2d234fc996d448b2
BLAKE2b-256 7b4ac11ba040fa5dcf8689cafe3df4febaaadbc0d31777bb0e4b1ec74cd77a7a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page