Radyo kontrolü uygulaması, MediaSession
ve
Medya ve sesli asistan uygulamalarının aşağıdakileri yapmasına izin veren MediaBrowse
radyoyu kontrol etmek. Daha fazla bilgi için bkz.
developer.android.com adresinde arabalar için medya uygulamaları oluşturun.
Araç yayın radyosu desteğinde bir medya göz atma ağacı uygulaması sağlanmıştır
packages/apps/Car/libs
kitaplığı. Bu kitaplıkta şunun uzantıları da var:
URI'ye ve URI'den dönüştürmek için ProgramSelector. Radyo uygulamalarını
kullanarak
ilişkilendirilmiş göz atma ağacını oluşturmak için bu kitaplığı kullanın.
Medya kaynağı değiştirici
Radyo ve medyada gösterilen diğer uygulamalar arasında sorunsuz bir geçiş sağlamak için
araba medyası ortak kitaplığı, radyoya entegre edilmesi gereken sınıflar içerir
uygulamasını indirin. MediaAppSelectorWidget
, radyo uygulamasının XML'sine eklenebilir
(referans medyalarda ve radyo uygulamalarında kullanılan simge ve açılır menü):
<com.android.car.media.common.MediaAppSelectorWidget android:id="@+id/app_switch_container" android:layout_width="@dimen/app_switch_widget_width" android:layout_height="wrap_content" android:background="@drawable/app_item_background" android:gravity="center" />
Bu widget, görüntülenen AppSelectionFragment
uygulamasını başlatır.
aktarılabilen medya kaynaklarının listesi. Sağlanandan farklı bir kullanıcı arayüzü istenirse
özel bir widget oluşturarak AppSelectionFragment
öğesini başlatabilirsiniz.
değiştirici görüntülenmelidir.
AppSelectionFragment newFragment = AppSelectionFragment.create(widget, packageName, fullScreen); newFragment.show(mActivity.getSupportFragmentManager(), null);
Referans radyo uygulaması uygulamasında örnek bir uygulama sağlanmıştır.
packages/apps/Car/Radio
adresinde bulunuyor.
Ayrıntılı kontrol özellikleri
MediaSession
(MediaSession.Callback
aracılığıyla)
arayüz, şu anda çalan radyo programı için kontrol mekanizmaları sağlar:
onPlay
,onStop
. Radyo çalmanın sesini açın.onPause
Zaman kaydırmalı duraklatma (destekleniyorsa).onPlayFromMediaId
Üst düzey klasördeki herhangi bir içeriği oynatın. Örneğin, "FM'i çal" veya "Radyo çal" deyin.onPlayFromUri
Belirli bir frekansla çalın. Örneğin, "88.5 FM'i çal."onSkipToNext
,onSkipToPrevious
. Sonraki veya öncekine ayarla istasyon.onSetRating
Favoriler'e ekleme veya favorilerden kaldırma.
MediaTarayıcı, Üç tür üst düzey dizin türünde MediaItem:
- (İsteğe bağlı) Programlar (istasyonlar). Bu mod genellikle Kullanıcının bulunduğu yerdeki mevcut tüm radyo istasyonlarını belirtmek için çift alıcı radyoları
- Favoriler. Favoriler listesine eklenen radyo programları, bazıları kullanılamıyor (alma aralığının dışında).
- Kanalları birleştirin. Mevcut bölgede fiziksel olarak mümkün olan tüm kanallar (87,9, 88.1, 88.3, 88.5, 88.7, 88.9, 89.1 vb.). Her grubun ayrı bir üst düzey dizini vardır.
Bu klasörlerin (AM/FM/Programlar) her birindeki her öğe, kullanılabilecek URI'ye sahip bir MediaItem öğesidir. ayarlamak için MediaSession'ı kullanabilirsiniz. Her üst düzey klasör (AM/FM/Programlar), oynatma işlemini tetiklemek için MediaSession ile kullanılabilir ve OEM'in şahsi karar verme yetkisine bağlıdır. Örneğin, Örneğin, "FM'i çal", "Öğleden sonra çal", ve "Play Radyo" özel olmayan radyo sorgularının tümü OEM radyo uygulamasına gönderilecek mediaId parametresi. Hangi içeriğin hangi cihazdan çalınacağını radyo uygulamasına bağlıdır. genel isteği ve mediaId değerini içerir.
MedyaOturumu
Yayın akışını duraklatma gibi bir kavram olmadığından Oynat, Duraklat ve Durdur işlemleri radyo için de geçerli olmayabilir. Radyoda, Durdur işlemi akışın sesinin kapatılmasıyla ilişkilendirilir Play, sesi kapatma özelliğinin kaldırılmasıyla ilişkilidir.
Bazı radyo kanalları (veya uygulamalar),
daha sonra
oynatmak anlamına gelir. Bu tür durumlarda onPause
kullanın.
mediaId ve URI işlemlerinden oynatma, bir istasyona ayarlamak için tasarlanmıştır MediaTarayıcı arayüzünden alındı. mediaId rastgele bir dizedir benzersiz bir öğe uygulamak için radyo uygulaması tarafından sağlanır (yani belirli bir kimlik yalnızca bir öğeyi işaret eder) ve kararlı (yani belirli bir öğe tüm oturum boyunca aynı kimliğe sahip olur) değerine kullanabilirsiniz. URI, iyi tanımlanmış bir şemaya ait olacaktır. Kısacası, URI tabanlı biçiminde olur. Bu, eşitlik özelliğini korurken bir yandan da istikrarlı olsa da, istasyon farklı bir frekansa geçiş yaptığında değişebilir.
Tasarım gereği onPlayFromSearch
kullanılmaz. Müşterinin sorumluluğundadır.
(tamamlayıcı uygulama) kullanarak MediaTarayıcı ağacından arama sonucu seçin. Hareket halinde
uygulamasının daha karmaşık bir yapıya yol açacağından, bu görevlerin nasıl ilerlediği konusunda resmî
dize sorgularının görünmesi ve farklı donanımlarda kullanıcı deneyiminin eşit olmamasına neden olur
platformlar.
Not: Radyo uygulaması, istemciye açık olmayan bir istasyon adını aramak için yararlı olacak bilgiler aracından etiketleri kullanabilirsiniz.
Sonraki veya önceki istasyona atlama, geçerli bağlama göre değişir:
- Bir uygulama Favoriler listesinden bir istasyona ayarlandığında Favoriler listesinden bir sonraki istasyona geçebilirsiniz.
- Program listesindeki bir istasyonu dinlemek, sonraki mevcut istasyon, kanal numarasına göre sıralanır.
- Rastgele bir kanalı dinlemek, bir sonraki fiziksel kanala geçmenizi sağlayabilir. ve yayın sinyali olmasa bile çalışır.
Radyo uygulaması bu işlemleri gerçekleştirir.
Hata işleme
TransportControls
.
işlemleri (Oynat, Durdur ve Sonraki), işlemin
başarılı olup olmadığını gösterir. Hata belirtmenin tek yolu MediaSession
eyalet
STATE_ERROR
.
hata mesajı veriyor.
Radyo uygulaması bu işlemleri gerçekleştirmeli ve bunları yürütmeli veya bir hata durumu ayarlamalıdır.
Play komutu hemen yürütülmüyorsa oynatma durumu şu şekilde değiştirilmelidir:
STATE_CONNECTING
.
(doğrudan ayar durumunda) veya
STATE_SKIPPING_TO_PREVIOUS
veya
NEXT
emin olun.
Müşteri
PlaybackState
reklamını izlemelidir
ve oturumun mevcut programı, istenen veya girilen programla değiştirdiğini doğrulayın.
hata durumu. STATE_CONNECTING
30 saniyeyi geçmemelidir. Ancak, belirli bir hedefe
ÖÖ/FM frekansı çok daha hızlı performans gösterecektir.
Favorileri ekleme ve kaldırma
MediaSession, Favorileri kontrol etmek için kullanılabilecek derecelendirme desteğine sahiptir. onSetRating
.
şu tür bir puanla çağrıldı:
RATING_HEART
ayarlı olan istasyonu Favoriler listesine ekler veya listeden kaldırır.
Eski hazır ayarların aksine bu modelde sırasız ve sınırsız Favoriler varsayılır
listesi, kaydedilen her favori sayısal bir alana (genellikle 1 ila 6) ayrıldığında.
Bu nedenle, hazır ayarlı sistemler onSetRating
ile uyumlu olmaz.
işlemidir.
MediaSession API sınırlaması şu anda yalnızca istasyonun şu anda ayarlı eklenebilir ya da kaldırılabilir. Örneğin, öğelerin kaldırılabilir. Bu yalnızca MediaTarayıcı istemcisinin bir sınırlamasıdır, tamamlayıcı uygulamadır. Radyo uygulaması benzer bir şekilde kısıtlanmamıştır. Bu kısım isteğe bağlıdır Bir uygulama Favoriler'i desteklemediğinde.
MediaBrowser
Hangi frekansların veya fiziksel kanal adlarının (ayarlar bir radyo teknolojisine uygunsa) geçerli olduğunda her bant için geçerli tüm kanallar (frekanslar) listelenir. ABD bölgesinde bu, 87,8-87 aralığında 101 FM kanalına karşılık gelir. 108,0 MHz aralığı (0,2 MHz aralıkla) ve 117:00 kanalları (530 aralığında) 1700 kHz'e (10 kHz aralık kullanılarak). HD radyo aynı kanal alanını kullandığından ayrı olarak sunulmaz.
Şu anda kullanılabilen radyo programlarının listesi düz bir listedir ve bu izin doğrudan ses yayını (DAB) topluluğuna göre gruplandırma gibi görüntü şemaları.
Favori listesindeki girişler, ayarlanmayabilir. Örneğin, olabilir. Radyo uygulaması, girişin yapılıp yapılmadığını önceden ayarlanabilir. Bu durumda, girişi oynatılabilir olarak işaretlenmeyebilir.
Üst düzey klasörleri tanımlamak için Bluetooth tarafından kullanılan mekanizmanın aynısı uygulanır.
Bu,
MediaDescription
adlı kullanıcının Ekstra paketidir.
nesnesi, Bluetooth'un
EXTRA_BT_FOLDER_TYPE
ile yaptığı gibi kanala özel bir alan içerir.
Radyo yayıncılığı söz konusu olduğunda bu durum, Dörtlükte
genel API:
EXTRA_BCRADIO_FOLDER_TYPE = "android.media.extra.EXTRA_BCRADIO_FOLDER_TYPE"
Bir şu değerlerden birini seçin:BCRADIO_FOLDER_TYPE_PROGRAMS = 1
Şu anda kullanılabilen programlar.BCRADIO_FOLDER_TYPE_FAVORITES = 2
Favoriler.BCRADIO_FOLDER_TYPE_BAND = 3
Belirli bir grubun tüm fiziksel kanalları.
radyoya özgü özel meta veri alanları tanımlamanıza gerek yoktur. alakalı veriler mevcut
MediaBrowser.MediaItem
şemasına uyar:- Program adı (RDS PS, DAB hizmet adı).
MediaDescription.getTitle
. - FM frekansı. URI (bkz.
ProgramSelector) veya
MediaDescription.getTitle
(BROADCASTRADIO_FOLDER_TYPE_BAND
klasöründe bir giriş varsa). - Radyoya özel tanımlayıcılar (RDS PI, DAB SId).
MediaDescription.getMediaUri
, ProgramSelector olarak ayrıştırıldı.
Genellikle, cihazdaki bir giriş için FM frekansını getirme mevcut program veya Favoriler listesi (müşterinin medya üzerinde çalışması gerektiği için) kimlikleri). Ancak bu tür bir ihtiyaç ortaya çıkarsa (örneğin, görüntüleme amacıyla) bu URI'da bulunur ve
ProgramSelector
olarak ayrıştırılabilir. Bununla birlikte, geçerli öğe veya dizindeki öğeleri seçmek için URI'nın kabul edilir. Ayrıntılar için bkz.ProgramSelector
Performans veya bağlayıcıyla ilgili sorunlardan kaçınmak için MediaTarayıcı hizmeti sayfalandırmayı desteklemelidir:
EXTRA_PAGE
EXTRA_PAGE_SIZE
subscribe()
için ek parametreler
Not: Sayfalara ayırma işlemi varsayılan olarak
onLoadChildren()
varyantlarını kullanabilirsiniz.Her türden listeyle ilgili girişler (ham kanallar, bulunan programlar ve favori) farklı mediaId'lere sahip olabilir (radyo uygulamasına bağlıdır; destek kitaplığının ayarları farklı olur). URI'lar (ProgramSelector biçiminde) farklıdır çoğu durumda bulunan ham kanallar ile programlar arasında (FM ancak RDS olmadan), ancak bulunan programlar ve favoriler arasında çoğunlukla aynıdır (ancak Örneğin, AF güncellendiğinde).
Farklı liste türlerindeki girişler için farklı mediaId'lere sahip olmak, farklı işlemler yapmanız mümkün olur. Favoriler listesine veya Yakın zamanda oluşturulan klasörlere bağlı olarak
onSkipToNext
üzerindeki Tüm Programlar listesi seçilenMediaItem
(bkz. MediaSession) içerir.Özel ayar işlemleri
Program listesi, kullanıcıların belirli bir istasyona ayar yapmasına olanak tanır, ancak kullanıcıların şunları yapmasına izin vermez: "FM'e ayarla" gibi genel isteklerde bulunursunuz. Bu şekilde yakın zamanda FM bandındaki istasyonu dinledim.
Bu tür işlemleri desteklemek için bazı üst düzey dizinlerde,
FLAG_PLAYABLE
. bayrak ayarlandı (FLAG_BROWSABLE
ile birlikte ) tıklayın.İşlem Ayarla: Düzenleme yöntemi Radyo çal Tüm radyo kanalları startService(ACTION_PLAY_BROADCASTRADIO)
VEYA
playFromMediaId(MediaBrowser.getRoot())
FM'i çal Herhangi bir FM kanalı FM bandının mediaId
adlı şarkısından çal.Hangi programa bağlanacağınızı uygulamaya karar verir. Bu genellikle belirtilen listedeki kanala en son yapılan videodur. Ayrıntılı bilgi için
ACTION_PLAY_BROADCASTRADIO
, bkz. Genel oynama amaçları.Keşif ve hizmet bağlantısı
PackageManager
, yayın radyosu sunan MediaTarayıcıService hizmetini doğrudan bulabilir ağacı. Bunu yapmak içinresolveService
numaralı telefonu arayın (bkz.ACTION_PLAY_BROADCASTRADIO
) Genel oynama amaçları) veMATCH_SYSTEM_ONLY
işareti. Radyo hizmeti veren tüm hizmetleri bulmak için ( birden fazla olabilir; örneğin, AM/FM ve uydu arasında ayrı ayrı)queryIntentServices
Çözümlenen hizmet
android.media.browse.MediaBrowserService
bağlantısını işler için de geçerlidir. Bu bilgi, GTS ile doğrulanır.Seçilen MediaTarayıcıHizmeti'ne bağlanmak için oluştur Belirli bir hizmet bileşeni ve
connect
içinMediaBrowser
örneği. Bağlantı kurulduktan sonra MediaSession'a yönelik bir herkese açık kullanıcı adı şuradan edinilebilir:getSessionToken
Radyo uygulaması,
onGetRoot
. emin olabilirsiniz. Uygulama, sistem uygulamalarının bağlanmasına izin vermelidir beyaz listeye eklemeden önce. Beyaz listeye eklemeyle ilgili ayrıntılar için bkz. Asistan uygulaması paketini ve imzasını kabul edin.Kaynağa özgü uygulama (örneğin, bir radyo uygulaması) olmasa da kaynak desteği sunmasa bile, kaynak desteğinin
ACTION_PLAY_BROADCASTRADIO
niyeti vardı, ancak MediaTarayıcı ağacı radyoya özgü etiketler içermemelidir. Dolayısıyla, belirli bir şeyin teste tabi olup kaynağı bir cihazda mevcut;- Radyo hizmetini keşfedin (telefon görüşmesi için
resolveService
ACTION_PLAY_BROADCASTRADIO
) tıklayın. MediaBrowser
oluşturup ona bağlanın.EXTRA_BCRADIO_FOLDER_TYPE
ileMediaItem
varlığını belirleme ekstra
Not: Çoğu durumda, istemcinin tüm web sayfalarını Medya Tarayıcısı ağaçlarını kullanarak bir cihaz için tüm kullanılabilir kaynakları algılayabilir.
Müzik grubu adları
Bant listesi, bir klasör türüne sahip bir üst düzey dizin grubuyla temsil edilir. etiketi
BCRADIO_FOLDER_TYPE_BAND
olarak ayarlandı.MediaItem
kullanıcısının başlıklar grup adlarını temsil eden yerelleştirilmiş dizelerdir. Çoğu durumda İngilizce çeviriyle aynıdır, ancak müşteri bu varsayıma dayalı hareket edemez.Belirli bantları ararken sabit bir mekanizma sağlamak için
EXTRA_BCRADIO_BAND_NAME_EN
adlı bant klasörleri için fazladan etiket eklendi. Bu grubun yerelleştirilmiş olmayan bir adını belirtir ve önceden tanımlanmış şu değerlerden yalnızca birini alabilir:AM
FM
DAB
Kayış bu listede yoksa bant adı etiketi ayarlanmamalıdır. Bununla birlikte, bant listede varsa bir etiket ayarlanmış olmalıdır. HD radyo yapmıyor Am/FM ile aynı temel ortamı kullandığı için ayrı bantları numaralandırma.
Genel oyun amaçları
Belirli bir kaynağın (radyo veya CD gibi) çalınması için özel olarak tasarlanmış her uygulama bir olası bir içeriği oynatmaya başlamak için genel oynatma niyeti etkin olmama durumu (örneğin, başlatıldıktan sonra) İçerikler uygulama tarafından belirlenir. ancak bu genellikle en son çalınan radyo programı veya CD'dir.CD'de Her ses kaynağı için amaç tanımlanır:
android.car.intent.action.PLAY_BROADCASTRADIO
android.car.intent.action.PLAY_AUDIOCD
: CD-DA veya CD-Metinandroid.car.intent.action.PLAY_DATADISC
: Optik veri diski benzeri CD/DVD var ancak CD-DA değil (Karma Mod CD olabilir)android.car.intent.action.PLAY_AUX
: Hangisinin AUX bağlantı noktasıandroid.car.intent.action.PLAY_BLUETOOTH
android.car.intent.action.PLAY_USB
: Hangisinin USB cihazandroid.car.intent.action.PLAY_LOCAL
: Yerel medya depolama alanı (yerleşik flaş)
Amaçlar, kastedildiği için genel oyun komutu için kullanılmak üzere olmak üzere iki sorun vardır: genel play komutunun kendisi ve hizmet keşfi. Böyle bir amaca sahip olmanın bir diğer faydası da, böyle bir anlaşmanın basit bir işlem yapılmasını sağlar.
Hizmet keşfi, aslında bu çözümlerle çözülen daha önemli problemdir. amaçlar. Hizmet keşfine yönelik süreç bu şekilde kolay ve nettir (bkz. Keşif ve hizmet bağlantısı).
Bazı istemci uygulamalarını kolaylaştırmak için, Google Dokümanlar ve Google Slaytlar Aşağıdaki gibi Play komutunun yayınlanması (Radyo uygulaması tarafından da uygulanması gerekir): kök düğümün rootId'si ile
playFromMediaId
verme ( mediaId) kaldırın. Araç kök düğüm oynatılabilir olması amaçlanmamıştır, rootId rastgele bir dizedir Bu, mediaId olarak tüketilmek üzere yapılabilir. Ancak, anlayabiliyorum.Program Seçici
mediaId
, listeden bir kanal seçmek içinMediaBrowserService
, bir oturuma bağlı hale geliyor ve tutarlı değil sağlar. Bazı durumlarda müşterinin mutlak bir işaretçiye (örneğin, mutlak sıklık) kullandığınızdan emin olun.Dijital radyo yayınları çağında sadece tek bir frekansla odaklanmak yeterli değildir. belirli bir istasyona ayarla. Bu nedenle, ayarlamak için
ProgramSelector
kullanın analog veya dijital kanala bağlanabilir.ProgramSelector
iki bölümden oluşur:- Birincil tanımlayıcı. Belirli bir radyo için benzersiz ve sabit tanımlayıcı istasyonun içeriği değişir, ancak bu istasyona bağlanmak için yeterli olmayabilir. Örneğin, RDS PI kodu (ABD'de çağrı işaretine çevrilebilir).
- İkincil tanımlayıcılar. Ayarlama için faydalı ek tanımlayıcılar iletişim bilgisi (örneğin, sıklık) kullanılarak radyo teknolojileri. Örneğin, bir DAB istasyonunun analog yayın yedeği olabilir.
ProgramSelector
öğesinin,MediaBrowser
veyaMediaSession
tabanlı çözüm, seri haline getirmek için bir URI şeması tanımlayın. Şema şu şekilde tanımlanır:broadcastradio://program/<primary ID type>/<primary ID>? <secondary ID type>=<secondary ID>&<secondary ID type>=<secondary ID>
Bu örnekte, ikincil Tanımlayıcılar bölümü (soru işaretinden (
?
) sonra) isteğe bağlıdır vemediaId
olarak kullanılacak sabit bir tanımlayıcı sağlamak için kaldırılabilir. Örnek:broadcastradio://program/RDS_PI/1234?AMFM_FREQUENCY=88500&AMFM_FREQUENCY=103300
broadcastradio://program/AMFM_FREQUENCY/102100
broadcastradio://program/DAB_SID_EXT/14895264?RDS_PI=1234
program
yetkili tarafı (ana makine olarak da bilinir), daha fazla bilgi edineceksiniz. Tanımlayıcı türü dizeleri tam olarak belirtilirIdentifierType
öğesinin HAL 2.x tanımındaki ve değeri biçimi, ondalık veya onaltılık (0x
ön eki olan) bir sayıdır.Tedarikçiye özel tüm tanımlayıcılar
VENDOR_
ile temsil edilir. ön eki ile değiştirebilirsiniz. Örneğin,VENDOR_START
içinVENDOR_0
veVENDOR_START
ve 1 içinVENDOR_1
. Bu tür URI'lar oluşturuldukları ve cihazlar arasında aktarılamayan radyo donanımı çeşitli OEM'ler tarafından üretilmiştir.Bu URI'lar, üst düzey radyo altındaki her bir MediaItem öğesine atanmalıdır klasörlerini tıklayın. Buna ek olarak, MediaSession hem
playFromMediaId
öğesini desteklemelidir veplayFromUri
. Bununla birlikte, URI esasen radyo için tasarlanmıştır. meta veri çıkarma (FM frekansı gibi) ve kalıcı depolama. Hayır URI'nın tüm medya öğeleri için kullanılabileceğini (örneğin, birincil Kimlik türü henüz çerçeve tarafından desteklenmiyor). Diğer yandan, Medya Kimliği her zaman çalışır. Müşterilerin oturum açın. Bunun yerineplayFromMediaId
politikasını kullanın. Bununla birlikte, sunum uygulaması için isteğe bağlı değildir ve eksik URI'lar haklı gerekçeler için ayrılmıştır.İlk tasarımda
://
dizisi yerine tek iki nokta üst üste kullanılmıştır seçeneği belirleyin. Ancak ilki Mutlak hiyerarşik URI başvuruları içinandroid.net.Uri
.Diğer kaynak türleri
Diğer ses kaynakları benzer şekilde işlenebilir. Örneğin, yardımcı giriş ve ses CD'si çalar.
Tek bir uygulama, birden fazla kaynak türünü sunabilir. Böyle durumlarda her bir web sitesi için ayrı bir MediaTarayıcıHizmeti oluşturmanız önerilir her bir kaynak türünü gösteriyoruz. Birden fazla sunulan kaynak/MediaTarayıcı Hizmetleri bulunan kurulumda bile, tek bir içinde tek bir MediaSession'ın olması önemle önerilir uygulamasını indirin.
Ses CD'si
Ses CD'sine benzer şekilde, bu tür diskleri sunan uygulama MediaTarayıcı'yı tek bir göz atılabilir girişle (veya sistemde CD değiştirici). Eğer her CD’deki parçalar hakkında bilgi sahibi değildir (örneğin, tüm diskler bir kartuşun içine yerleştirilir ve kartuşun tamamını okumazsa) Diskin tamamına ilişkin MediaItem yalnızca
PLAYABLE
olur, değilBROWSABLE
vePLAYABLE
. Bir alan sağlandığında, öğePLAYABLE
veyaBROWSABLE
olmaz. (ancak her aralık her zaman ağaçta bulunmalıdır).Bu girişler, radyo klasörlerini yayınlamaya benzer bir şekilde işaretlenir şunlardır: bunlar MediaDescription API'sinde tanımlanan ek ek alanlar içerir:
EXTRA_CD_TRACK
: Ses CD'sindeki herMediaItem
için, 1 tabanlı parça numarası.EXTRA_CD_DISK
: 1 tabanlı disk numarası.
CD-Text özellikli sistem ve uyumlu disk için, üst düzey MediaItem bir başlığı olur. Benzer şekilde, parçalara ilişkin MediaItems öğesi de başlığı seçin.
Yardımcı giriş
Yardımcı giriş sunan uygulama, tek bir girişle (veya daha fazla (birden fazla bağlantı noktası varsa) bağlantı noktasında AUX'u (bağlantı noktası) temsil eder. İlgili MediaSession, mediaId değerini alır ve
playFromMediaId
isteğini aldıktan sonra bu kaynağa geçer.Her AUX MediaItem girişinde fazladan bir alan olur
EXTRA_AUX_PORT_NAME
, bağlantı noktasının yerelleştirilmemiş adına ayarlandı "AUX" olmayan kelime öbeğini ekleyin. Örneğin, "AUX 1" "1", "AUX" olarak ayarlanmalıdır. ön" "ön" olarak ve "AUX" gibi kullanabilirsiniz. İngilizce dışındaki dillerde yerel ayar adı etiketi aynı İngilizce dize olarak kalır. Olası değilEXTRA_BCRADIO_BAND_NAME_EN
, değerler OEM tarafından tanımlanmıştır önceden tanımlanmış bir listeyle sınırlıdır.Donanım, AUX bağlantı noktasına bağlı cihazları algılayabilirse donanım, MediaItem'i
PLAYABLE
olarak ayarlayın. Donanımın buna bağlı bir şey yoksa yine de numaralandırılmaya devam eder (ancakPLAYABLE
değil). bağlantı noktası. Donanımın böyle bir özelliği yoksa MediaItem her zamanPLAYABLE
Ekstra alanlar
Aşağıdaki alanları tanımlayın:
EXTRA_CD_TRACK = "android.media.extra.CD_TRACK"
EXTRA_CD_DISK = "android.media.extra.CD_DISK"
EXTRA_AUX_PORT_NAME = "android.media.extra.AUX_PORT_NAME"
Müşterinin,
EXTRA_CD_DISK
veyaEXTRA_AUX_PORT_NAME
ekstra alan ayarlandı.Ayrıntılı örnekler
Aşağıdaki örneklerde, şu özelliklere sahip kaynak türleri için MediaTarayıcı ağaç yapısında bir parçası olacak.
MediaTarayıcı Hizmeti'ni yayınla (
ACTION_PLAY_BROADCASTRADIO
işleyicisini işler):- İstasyonlar (göz atılabilir)
EXTRA_BCRADIO_FOLDER_TYPE=BCRADIO_FOLDER_TYPE_PROGRAMS
- BBC One (oynanabilir) URI'si:
broadcastradio://program/RDS_PI/1234?AMFM_FREQUENCY=90500
. - ABC 88.1 (oynanabilir) URI'si:
broadcastradio://program/RDS_PI/5678?AMFM_FREQUENCY=88100
. - ABC 88.1 HD1 (oynatılabilir) URI'si:
broadcastradio://program/HD_STATION_ID_EXT/158241DEADBEEF?AMFM_FREQUENCY=88100&RDS_PI=5678
. - ABC 88.1 HD2 (oynatılabilir) URI'si:
broadcastradio://program/HD_STATION_ID_EXT/158242DEADBEFE
. - 90.5 FM (oynatılabilir) - RDSURI olmadan FM:
broadcastradio://program/AMFM_FREQUENCY/90500
. - 0620 (oynanabilir) URI:
broadcastradio://program/AMFM_FREQUENCY/620
. - BBC One (oynanabilir) URI:
broadcastradio://program/DAB_SID_EXT/1E24102?RDS_PI=1234
- BBC One (oynanabilir) URI'si:
- Favoriler (göz atılabilir, oynanabilir)
EXTRA_BCRADIO_FOLDER_TYPE=BCRADIO_FOLDER_TYPE_FAVORITES
- BBC One (oynanabilir) URI:
broadcastradio://program/RDS_PI/1234?AMFM_FREQUENCY=101300
- BBC Two (oynatılabilir değil)URI:
broadcastradio://program/RDS_PI/1300?AMFM_FREQUENCY=102100
- BBC One (oynanabilir) URI:
- ÖÖ (göz atılabilir, oynatılabilir):
EXTRA_BCRADIO_FOLDER_TYPE=BCRADIO_FOLDER_TYPE_BANDEXTRA_BCRADIO_BAND_NAME_EN="AM"
.- 530:00 (oynanabilir) URI:
broadcastradio://program/AMFM_FREQUENCY/530
- 540:00 (oynanabilir) URI:
broadcastradio://program/AMFM_FREQUENCY/540
- 550:00 (oynanabilir) URI:
broadcastradio://program/AMFM_FREQUENCY/550
- 530:00 (oynanabilir) URI:
- FM (göz atılabilir, oynatılabilir):
EXTRA_BCRADIO_FOLDER_TYPE=BCRADIO_FOLDER_TYPE_BANDEXTRA_BCRADIO_BAND_NAME_EN="FM"
.- 87.7 FM (oynatılabilir) URI:
broadcastradio://program/AMFM_FREQUENCY/87700
- 87.9 FM (oynatılabilir) URI:
broadcastradio://program/AMFM_FREQUENCY/87900
- 88.1 FM (oynatılabilir) URI'si:
broadcastradio://program/AMFM_FREQUENCY/88100
- 87.7 FM (oynatılabilir) URI:
- DAB (oynanabilir):
EXTRA_BCRADIO_FOLDER_TYPE=BCRADIO_FOLDER_TYPE_BANDEXTRA_BCRADIO_BAND_NAME_EN="DAB"
Ses CD'si MediaTarayıcıService (
ACTION_PLAY_AUDIOCD
işleyicisi):- Disk 1 (oynanabilir)
EXTRA_CD_DISK=1
- Disk 2 (göz atılabilir, oynatılabilir)
EXTRA_CD_DISK=2
- 1. Parça (hazırlanabilir)
EXTRA_CD_TRACK=1
- 2. Parça (hazırlanabilir)
EXTRA_CD_TRACK=2
- 1. Parça (hazırlanabilir)
- Müzik CD'm (göz atılabilir, çalınabilir)
EXTRA_CD_DISK=3
- Kendim (oynanabilir)
EXTRA_CD_TRACK=1
- Reise, Reise (oynanabilir)
EXTRA_CD_TRACK=2
- Kendim (oynanabilir)
- Boş yuva 4 (oynatılamaz)
EXTRA_CD_DISK=4
AUX MediaTarayıcıService (
ACTION_PLAY_AUX
işleyicisi):- Yedek (AUX) ön (oynanabilir)
EXTRA_AUX_PORT_NAME="front"
- AUX arka (oynanabilir)
EXTRA_AUX_PORT_NAME="rear"