国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

安卓手機APP開發(fā)__媒體開發(fā)部分__媒體項

這篇具有很好參考價值的文章主要介紹了安卓手機APP開發(fā)__媒體開發(fā)部分__媒體項。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

安卓手機APP開發(fā)__媒體開發(fā)部分__媒體項

目錄

概述

簡單媒體項

處理非標準的文件擴展名

受保護的內(nèi)容

邊播邊加載的字幕軌道

剪切一個媒體流

加廣告


概述

基于媒體項的實例的播放列表API,能夠很方便地使用MediaItem.Builder
來構(gòu)建。 在播放器內(nèi)部,一個播放項能被媒體源工廠轉(zhuǎn)換成一個可以播放的
媒體源。沒有定制化的配置,這個轉(zhuǎn)化由一個默認的媒體源工廠來執(zhí)行,它能
構(gòu)建一個復(fù)雜的媒體源,這個源對應(yīng)著媒體項的屬性。一些在媒體項的屬性
在下面列出來了。

簡單媒體項

一個媒體項包括了一個流URI,構(gòu)建如下:

Kotlin


val mediaItem = MediaItem.fromUri(videoUri)

對于其它的情況,能使用一個MediaItem.Builder。在如下的例子中,
一個媒體項能用一個編號和一些附加的元數(shù)據(jù)來構(gòu)建:

Kotlin

val mediaItem = MediaItem.Builder().setMediaId(mediaId).setTag(myAppData).setUri(videoUri).build()

當播放列表的切換發(fā)生時,附加的元數(shù)據(jù)能在更新你的APP的用戶界面時很有用。

處理非標準的文件擴展名

ExoPlayer提供了可適配的媒體源,包括了DASH,HLS,光滑流的情況。如果
這樣的可適配的媒體項的URI以一個標準的文件擴展名結(jié)束,相應(yīng)的媒體源被
自動地創(chuàng)建。如果媒體項的URI有一個非標準的擴展名,或者是沒有擴展名,
那么MIME的類型能夠被顯式地顯示為媒體項的類型:

Kotlin

val mediaItem = MediaItem.Builder().setUri(hlsUri).setMimeType(MimeTypes.APPLICATION_M3U8).build()

對于先進的媒體流,一個MIME類型是不需要有的。

受保護的內(nèi)容

對于受保護的內(nèi)容,媒體項的數(shù)據(jù)版權(quán)管理的屬性應(yīng)該被設(shè)置:

Kotlin

val mediaItem =
  MediaItem.Builder()
    .setUri(videoUri)
    .setDrmConfiguration(
      MediaItem.DrmConfiguration.Builder(C.WIDEVINE_UUID)
        .setLicenseUri(licenseUri)
        .setMultiSession(true)
        .setLicenseRequestHeaders(httpRequestHeaders)
        .build()
    )
    .build()

這個例子構(gòu)造了一個寬藤(估計是一個商標)受保護的內(nèi)容的媒體項。
在播放器內(nèi),DefaultMediaSourceFactory傳遞了一些屬性給DrmSessionManagerProvider,
這樣就得到了DrmSessionManager,然后這個管理器被注入到已創(chuàng)建的媒體源。
數(shù)字版權(quán)管理行為能夠根據(jù)你的需求,被進一步地定制。

邊播邊加載的字幕軌道

對邊播邊加載的字幕軌道,當構(gòu)建一個媒體項時,媒體項的字幕實例能被加上:

Kotlin

val subtitle =
  SubtitleConfiguration.Builder(subtitleUri)
    .setMimeType(mimeType) // The correct MIME type (required).
    .setLanguage(language) // The subtitle language (optional).
    .setSelectionFlags(selectionFlags) // Selection flags for the track (optional).
    .build()
val mediaItem =MediaItem.Builder().setUri(videoUri).setSubtitleConfigurations(listOf(subtitle)).build()

從內(nèi)部看,DefaultMediaSourceFactory將使用MergingMediaSource來組合內(nèi)容媒體源。
DefaultMediaSourceFactory不支持多個DASH的邊播邊加載字幕的功能。

剪切一個媒體流

為了剪切一個媒體項優(yōu)先的內(nèi)容,設(shè)置定制的開始和結(jié)束位置:

Kotlin

val mediaItem =
  MediaItem.Builder()
    .setUri(videoUri)
    .setClippingConfiguration(
      MediaItem.ClippingConfiguration.Builder()
        .setStartPositionMs(startPositionMs)
        .setEndPositionMs(endPositionMs)
        .build()
    )
    .build()

內(nèi)部地看,DefaultMediaSourceFactory使用ClippingMediaSource來打包內(nèi)容媒體源。
這有附加的剪切屬性。

加廣告

為了加廣告,一個媒體項的廣告標簽的URI屬性應(yīng)該設(shè)置成:

Kotlin

val mediaItem =
  MediaItem.Builder()
    .setUri(videoUri)
    .setAdsConfiguration(MediaItem.AdsConfiguration.Builder(adTagUri).build())

從內(nèi)部看,DefaultMediaSourceFactory將打包內(nèi)容媒體源到廣告媒體源,來插入廣告。
為了做到這一點,播放器也需要有它自己的相應(yīng)的DefaultMediaSourceFactory的配置。文章來源地址http://www.zghlxwxcb.cn/news/detail-856481.html

到了這里,關(guān)于安卓手機APP開發(fā)__媒體開發(fā)部分__媒體項的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 音視頻流媒體開發(fā)難以學習?今天教你如何“絲滑”入門

    Android平臺最常用的渲染工具就是鼎鼎大名的 OpenGL ,程序員多多少少都有聽過它,目前市面上眾多3A游戲引擎很多就是由OpenGL編寫的,而與此同時,對咱們Android開發(fā)來說,為什么要學習Opengl呢?其實就倆字: 高薪 ! 今天就帶大家來了解了解 OpenGL ! OpenGL到底是什么呢?很多人

    2023年04月08日
    瀏覽(18)
  • Qt/C++音視頻開發(fā)51-推流到各種流媒體服務(wù)程序

    Qt/C++音視頻開發(fā)51-推流到各種流媒體服務(wù)程序

    最近將推流程序完善了很多功能,尤其是增加了對多種流媒體服務(wù)程序的支持,目前支持mediamtx、LiveQing、EasyDarwin、nginx-rtmp、ZLMediaKit、srs、ABLMediaServer等,其中經(jīng)過大量的對比測試,個人比較建議使用mediamtx和ZLMediaKit,因為這兩者支持的格式眾多,不僅同時支持rtsp/rtmp推流,

    2024年02月09日
    瀏覽(28)
  • 安卓音視頻開發(fā)(3)—— AudioTrack兩種方式播放pcm音頻

    前言 之前學習了AudioRecord錄制pcm音頻,與之對應(yīng)的就是AudioTrack播放pcm音頻(MediaPlayer、SoundPool有其他應(yīng)用場景),它有兩種數(shù)據(jù)加載模式(MODE_STATIC、MODE_STREAM)。 模式 MODE_STATIC :這種模式下,一次將所有的數(shù)據(jù)放入一個固定的buffer,然后寫入到AudioTrack中,后續(xù)就不用繼續(xù)

    2023年04月22日
    瀏覽(25)
  • 用Qt開發(fā)的ffmpeg流媒體播放器,支持截圖、錄像,支持音視頻播放,支持本地文件播放、網(wǎng)絡(luò)流播放

    用Qt開發(fā)的ffmpeg流媒體播放器,支持截圖、錄像,支持音視頻播放,支持本地文件播放、網(wǎng)絡(luò)流播放

    本工程qt用的版本是5.8-32位,ffmpeg用的版本是較新的5.1版本。它支持TCP或UDP方式拉取實時流,實時流我采用的是監(jiān)控攝像頭的RTSP流。音頻播放采用的是QAudioOutput,視頻經(jīng)ffmpeg解碼并由YUV轉(zhuǎn)RGB后是在QOpenGLWidget下進行渲染顯示。本工程的代碼有注釋,可以通過本博客查看代碼或者

    2024年02月03日
    瀏覽(116)
  • 音視頻開發(fā):Qt在視頻剪輯3D桌面軟件獲勝, 嵌入式不敵安卓

    音視頻開發(fā):Qt在視頻剪輯3D桌面軟件獲勝, 嵌入式不敵安卓

    1 Qt Android嵌入式應(yīng)用層開發(fā)方向?qū)Ρ?? 大家都知道啊,做嵌入式linux設(shè)備,一些沒有屏幕,比如安防攝像頭,門鈴之類的,另外一些嵌入式設(shè)備是有觸控屏,在觸控屏上還跑應(yīng)用軟件的,這種比如商場各種自動售賣機,鐵路賣票,銀行自助服務(wù),車載系統(tǒng)等。 10年前,我大學

    2024年02月09日
    瀏覽(21)
  • Android 音視頻開發(fā) - VideoView

    本篇文章主要介紹下Android 中的VideoView. VideoView是一個用于播放視頻的視圖組件,可以方便地在應(yīng)用程序中播放本地或網(wǎng)絡(luò)上的視頻文件。 VideoView可以直接在布局文件中使用,也可以在代碼中動態(tài)創(chuàng)建。 它封裝了MediaPlayer和SurfaceView,提供了簡單的接口來控制視頻的播放和顯示

    2024年04月08日
    瀏覽(27)
  • Android音視頻開發(fā) - MediaMetadataRetriever 相關(guān)

    MediaMetadataRetriever 是android中用于從媒體文件中提取元數(shù)據(jù)新的類. 可以獲取音頻,視頻和圖像文件的各種信息,如時長,標題,封面等. 需要申請 讀寫權(quán)限 . 這里我使用的是本地路徑, 需要注意的是如果路徑文件不存在,會拋出 IllegalArgumentException,具體的源碼如下: 根據(jù)keyCode返回keyC

    2024年04月08日
    瀏覽(31)
  • Android音視頻開發(fā)實戰(zhàn)02-Jni

    Android音視頻開發(fā)實戰(zhàn)02-Jni

    JNI是Java Native Interface的縮寫,是Java提供的一種機制,用于在Java代碼中調(diào)用本地(C/C++)代碼。它允許Java代碼與本地代碼進行交互,通過JNI,Java應(yīng)用程序可以調(diào)用一些原生庫或者操作系統(tǒng)API,以獲取更好的性能和更強的功能支持。 使用JNI需要編寫一些Native方法,并將其實現(xiàn)在

    2024年02月11日
    瀏覽(30)
  • Android音視頻開發(fā)實戰(zhàn)01-環(huán)境搭建

    Android音視頻開發(fā)實戰(zhàn)01-環(huán)境搭建

    FFmpeg 是一款流行的開源多媒體處理工具,它可以用于轉(zhuǎn)換、編輯、錄制和流式傳輸音視頻文件。FFmpeg 具有廣泛的應(yīng)用場景,包括視頻編解碼、格式轉(zhuǎn)換、裁剪、合并、濾鏡等等。官網(wǎng):https://ffmpeg.org/ FFmpeg 支持各種常見的音視頻格式,例如 MP4、AVI、FLV、MOV、AAC、MP3、M4A 等等

    2024年02月10日
    瀏覽(22)
  • 音視頻開發(fā)系列(6)——全面了解Android MediaFormat

    MediaFormat 是 Android 平臺中用于描述音視頻格式的類,它提供了許多 API 用于設(shè)置和獲取音視頻的格式信息。以下是 MediaFormat 類的主要 API: 用于創(chuàng)建音頻和視頻格式的 MediaFormat 對象。需要指定媒體類型(例如 audio/mp4a-latm 或 video/avc)、媒體的采樣率、通道數(shù)、碼率、幀率等信

    2024年02月01日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包