Кіріспе
Mobile Media API (MMAPI) - бұл Java ME платформасы CDC және CLDC құрылғылары, мысалы ұялы телефондар үшін API спецификациясы. Қолданылу әдісіне байланысты, API-лер қосымшаларға дыбыс пен бейнелерді ойнатуға және жазуға, сондай-ақ тұрақты бейнелерді түсіруге мүмкіндік береді. MMAPI Java Community Process аясында JSR 135 ретінде әзірленді.
Ойыншының өмірлік циклі
Протокол немесе медиа түріне қарамастан, Ойыншы өмірлік циклы кезінде бірдей дискретті күйлер арқылы өтеді. Бұл күйлер төмендегі кестеде көрсетілген + Player инстанциясының өмірлік цикл күйлері. Бұл жағдайда ойыншыда медианы өңдеу үшін қажетті ресурстарды алу үшін жеткілікті ақпарат жоқ. Ойыншы ресурстарды алу үшін қажетті ақпаратты алғаннан кейін Реализацияланған күйге көшеді. Бұл жағдайда ресурстардың көпшілігі жұмыс істеуге дайын болуы мүмкін. Алайда, кейбір ресурстар осы уақытта алынбауы мүмкін, әсіресе егер аудио немесе бейне драйвері сияқты жүйелік тәуелділіктер болса, онда айрықша қол жеткізу керек. Алдын ала алынған Ойыншы барлық ресурстар, соның ішінде сирек кездесетін және жүйеге тәуелді ресурстар алынғанда, Алдын ала алынған күйге көшеді. Алдын ала алынған күйде ойыншы өз міндеттерін орындау үшін қажетті барлық нәрсеге ие болады. Ауыстырғыштың Ауыстырылды күйінде болуы, Ауыстырғыштың мазмұны өңделіп жатқанын көрсетеді. Жабық Ойыншы өзінің өмірлік циклының соңында Жабық күйге ауысады. Жабық күйдегі ойыншыны қайтадан пайдалануға болмайды.
+ Lifecycle states of a Player instance State Description Unrealized Initial state when a Player is created. In this state the player does not have enough information to acquire the necessary resources to process the media. Realized The Player moves into the Realized state once it has obtained the necessary information to acquire the resources. In this state it is likely that most of the resources have already been acquired to function. However, some resources may not have been acquired at this point, especially if there are system dependencies involved such as with an audio or video driver where exclusive access must be obtained. Prefetched The Player moves into the Prefetched state once all resources have been acquired, including scarce and system dependent resources. Once in the Prefetched state, the Player has everything necessary to perform its tasks. Started A Player in the Started state indicates that the content associated with the Player is being processed. Closed A Player moves to the Closed state at the end of its lifecycle. A Player in the Closed state must not be used again.
Қолданылу
Java ME-нің көптеген ерекшеліктері сияқты, ерекшелік авторларының біркелкілікті қамтамасыз ету үшін барынша күш салғандарына қарамастан, іске асырулар әртүрлі. Екі айқын айырмашылықтар қолдайтын бақылауларда және бірінші кезекте қабылданатын URI түрлерінде. Көптеген ойындар MIDI музыка тректерін ойнатып, үстіне PCM дыбыс эффекттерін қалауды қалайды. Екінші ерекшелік - өнімділік. Мысалы, егер HTTP клипі сұралса, ол клип қай уақытта жүктеледі? Анықтама осыны нақты ойнағанға дейін шақырылатын екі ойыншы әдісін ұсыну арқылы мойындайды: іске асыру және алдын ала алу. Қолданбаға байланысты, олар клипті ойнатылатын күйге келтіру жұмысының бір бөлігін атқара алады, осылайша клип қажет болған кезде оны ойнатуды жылдамдатуы мүмкін. Кейбір бағдарламалық жасақтамалар клип ойнатылып жатқанда, талап бойынша оны тікелей трансляциялауға мүмкіндік береді. Symbian OS-де JSR 135-тің өте толық іске асырылуы бар, бірақ бұл құрылғының негізгі мультимедиа мүмкіндіктеріне өте тәуелді, ал кейбір құрылғы өндірушілер Java ME-нің жазба сияқты жасырын бөліктерін ашпауды таңдай алады. Барлық іске асырулар Java Technology Compatibility Kit (TCK) тестінен өтуі тиіс. Бұл әрбір қолдау тапқан URI схемасы, MIME түрі және бақылау сыналатындығын қамтамасыз етеді, бірақ осы ерікті бөліктердің әрбір пермутациясын сынамайды.