{"library":"pyobjc-framework-mediaplayer","title":"PyObjC Framework - MediaPlayer","description":"This package provides Python wrappers for the macOS MediaPlayer framework, allowing Python applications to interact with system media services like accessing the user's music library and controlling playback. It is part of the larger PyObjC project, currently at version 12.1, with frequent updates tied to new macOS SDK releases and Python compatibility.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install pyobjc-framework-mediaplayer"],"cli":null},"imports":["import MediaPlayer"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import MediaPlayer\nimport time\n\n# This example attempts to play a system music item.\n# It requires user permission (Media & Apple Music access) and items in the Music library.\n# On a system without Music.app or items, this might not do much visibly.\n\ndef play_music_item():\n    player = MediaPlayer.MPMusicPlayerController.systemMusicPlayer()\n    \n    print(f\"Initial playback state: {player.playbackState()}\")\n\n    query = MediaPlayer.MPMediaQuery.songsQuery()\n    items = query.items()\n    \n    if items and len(items) > 0:\n        first_item = items[0]\n        print(f\"Attempting to play: {first_item.title()} by {first_item.artist()}\")\n        player.setQueueWithItemCollection_(MediaPlayer.MPMediaItemCollection.collectionWithItems_([first_item]))\n        player.play()\n        print(\"Playback started. You might need to check your Music.app or system volume.\")\n        \n        time.sleep(5) \n        player.pause()\n        print(\"Playback paused after 5 seconds.\")\n    else:\n        print(\"No music items found in the library or permissions not granted.\")\n        print(\"Please ensure Music.app has content and Python has access (System Settings > Privacy & Security > Media & Apple Music).\")\n\nif __name__ == \"__main__\":\n    print(\"This script will attempt to use macOS's MediaPlayer framework.\")\n    print(\"It requires an active macOS system with the Music.app and potentially music items.\")\n    print(\"You might be prompted for Media & Apple Music access by macOS.\")\n    play_music_item()\n","lang":"python","description":"This quickstart demonstrates how to interact with the macOS system music player using `pyobjc-framework-mediaplayer`. It attempts to find and play the first song in the user's Music library. Note that this requires macOS user permissions for 'Media & Apple Music' and actual music content in the Music.app.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":null,"pypi_latest":"12.1","is_stale":null,"summary":{"python_range":"3.10–3.9","success_rate":0,"avg_install_s":null,"avg_import_s":null,"wheel_type":null},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pyobjc-framework-mediaplayer","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pyobjc-framework-mediaplayer","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":3,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pyobjc-framework-mediaplayer","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pyobjc-framework-mediaplayer","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":3.1,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pyobjc-framework-mediaplayer","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pyobjc-framework-mediaplayer","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":3.1,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pyobjc-framework-mediaplayer","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pyobjc-framework-mediaplayer","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":2.7,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pyobjc-framework-mediaplayer","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pyobjc-framework-mediaplayer","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":3.7,"import_time_s":null,"mem_mb":null,"disk_size":null}]}}