android 多媒體和相機詳解四

處理AUDIO_BECOMING_NOISYIntent  很多良好的音頻播放的應用都會在那些導致聲音變為噪音(通過外部擴音器輸出)的事件發生時自動停止播放.例如,這可能發生在當一個使用者用耳機聽音樂時忽然斷開了耳機串連.音頻從擴音器播放可能不是使用者期望的.  你可以通過處理ACTION_AUDIO_BECOMING_NOISYintent 來保證你的應用在此情況下停止播放音樂,你可以把如下代碼添加到你的manifest來註冊一個receiver:<receiver

android 多媒體和相機詳解二

釋放MediaPlayer  MediaPlayer可能消耗大量的系統資源.因此你應該總是採取一些額外的措失來確保在一個MediaPlayer執行個體上不會掛起太長的時間.當你用完MediaPlayer時,你應該總是調用release()來保證任何分配給MediaPlayer的系統資源被正確地釋放.例如,如果你正在使用MediaPlayer並且你的activity收到了一個對onStop()的調用,你必須釋放MediaPlayer,因為當你的activtiy不再與使用者互動時繼續保持MediaP

android 多媒體和相機詳解十一(大結局)

Time lapse視頻(定時錄影?)time lapse視頻使得使用者可以建立某個時間段的映像組成的視訊剪輯.此特性使用MediaRecorder 來錄製映像到一個序列. 要使用MediaRecorder錄製一個time lapse視頻,你必須像錄製一個一般視頻那樣配置recorder對象,設定幀率到一個低的數字並且設定time lapse品質 ,如下面代碼所示:// Step 3: 設定一個CamcorderProfile (requires API Level 8 or

android 多媒體和相機詳解五

相機  Android架構架包含了各種相機和相機功能的支援,使你可以在你的應用中捕獲映像和視頻.本文檔討論一個簡單快速的擷取映像和視頻的方法,並概述一個建立自訂使用者相機體驗的進階方法.想一想  在使你的應用能使用裝置上的相機之前,你應該先想一想你的應用將來會如何使用此硬體.Camera必須-相機是必須的,你不希望你的應用安裝到一個沒有相機的裝置上.你應該在manifest檔案中聲明需要相機.快速映像或自訂特性-你的應用將如何使用相機?你僅僅是抓取一個快速圖片或視訊剪輯,還是提供一個新的使用方式

android 多媒體和相機詳解三

處理音頻焦點  儘管某個時刻只有一個activity可以運行,Android卻是一個多任務環境.這對使用音訊應用帶來了特殊的挑戰,因為只有一個音訊輸出而可能多個媒體都想用它.在Android2.2之前,沒有內建的機制來處理這個問題,所以可能在某些情況下導致壞的使用者體驗.例如,當一個使用者正在聽音樂而另一個應用需要通知使用者一些重要的事情時,使用者可能由於音樂聲音大而不能聽的通知.從Android2.2開始,平台為應用提供了一個協商它們如何使用裝置音訊輸出的途徑,這個機制叫做音頻焦點.  當你的

Android錄音與播放

Android多媒體架構套件含擷取和編碼多種音頻格式的支援,所以你可以輕鬆地把音頻合并到你的應用中.如果裝置支援,你可以使用MediaRecorder APIs 進行錄音.本章向你展示如何寫一個應用從裝置上的microphone擷取音頻,然後儲存並回放.註:Android模擬器不具有錄音的能力,但是真實的裝置一般都具有此功能.執行音頻擷取從裝置擷取音頻比回放音頻或視頻要複雜一點,但是也還算簡單:建立一個android.media.MediaRecorder的新執行個體.使用MediaRecord

android 多媒體和相機詳解六

(歡迎大家加入android技術交流QQ群:209796692)接收相機intent的結果  一旦你構建並執行了一個映像或視頻相機intent,你的應用必須配置為能接收intent的結果.本節向你展示如何攔截從相機intent來的回調以使你的應用可以對擷取到的映像和視頻做更多的動作.  為了接收一個intent的結果,你必須覆寫啟動intent的activity的onActivityResult()方法.下面的代碼示範了如何覆寫onActivityResult()來取得相機intent的結果.p

android 多媒體和相機詳解七

建立一個預覽類 為了讓使用者有效擷取映像和視頻,必須能讓他們看到相機中的影像。一個相機預覽類是一個SurfaceView類,它可以顯示相機中的即時影像,於是使用者就可以框住並捕獲映像或視頻。下面例子中的代碼示範了如何建立一個基本的相機預覽類,此類可以被一個viewlayout包含。此類實現了SurfaceHolder.Callback,為的是擷取建立和銷毀view的回調事件,這個view用來分配相機預覽輸入。/** 一個基本的相機預覽類 */public class CameraPreview

一步一步學android OpenGL ES2.0編程(5)

添加運動在螢幕上繪製是OpenGL的基礎能力,但是你也可以用其它的Android圖形架構類來做,包括Canvas和Drawable。 但是OpenGL ES提供了另外的能力,可以在三維上移動和變換對象。總之它能創造很牛B的使用者體驗。在本文中,你將學會如何使用OpenGL ES為形狀添加旋轉功能。轉動一個形狀使用OpenGL ES 2.0旋轉一個對象也是十分簡單地。你建立另外一個變換矩陣(一個旋轉矩陣)然後把它合并到你的投影和相機視口變換矩陣就行了:private float[]

一步一步學android OpenGL ES2.0編程(6 大結局)

響應觸摸事件使你的OpenGL ES應用能響應觸摸的關鍵是擴充你實現的GLSurfaceView 代碼,覆寫onTouchEvent() 方法來監聽觸摸事件。 本文向你展示如何監聽使用者的觸摸事件以使使用者可以旋轉某個OpenGL ES對象。設定一個觸摸監聽器為了使你的OpenGL Es應用響應觸摸事件,你必須在你的GLSurfaceView 類中實現onTouchEvent()事件。下面的例子示範了如何監聽MotionEvent.ACTION_MOVE 事件然後把它們轉換成一個形狀的旋轉角度。

android Content Provider詳解七-實現ContentProvider類

(歡迎大家加入android技術交流QQ群:209796692)實現ContentProvider類ContentProvider 執行個體管理對一個結構型資料集的操作以處理從另外一個應用發來的請求。所有的操作最終都調用ContentResolver,然後它又調用ContentProvider 的一個具體的方法。 查詢方法們虛類 ContentProvider 定義了六個虛方法,你必須在你的衍生類別中實現它們。這些方法們,除了 onCreate() ,都會被想要操作你的content provi

詳解如何將android工具鏈作為獨立編譯器使用

 現在已經可以把Android NDK提供的工具鏈以獨立編譯器的方式使用了!如果你已經有了自己的構建系統,這就很有用了。一個典型的應用情境是調用一個依賴於CC環境變數開源庫的'configure'指令碼進行跨平台編譯。 本文檔將解釋如何那樣做。1 選擇你的工具鏈:首先 ,你需要確定你的獨立工具鏈所面向的目標CPU加構,是ARM-based裝置、x86-based裝置,還是MIPS-based裝置。每個架構對應不同的工具鏈名字:   * arm-linux-androideabi-4.6   =&

android Content Provider詳解八-實現ContentProvider MIME 類型

(歡迎大家加入android技術交流QQ群:209796692)實現ContentProvider MIME 類型ContentProvider 有兩個方法返回MIME類型。 getType() 一個對任何provider都要實現的方法。 getStreamTypes() 如果你的provider提供的是檔案,此方法是期望被實現的。 表的MIME類型們getType()方法返回一個MIME格式的String ,此String描述了由content URI參數計算出的資料類型。Uri 可以是一個模

android Content Provider詳解六

建立一個Content Providercontent provider管理對中央資料倉儲的存取。你實現一個provider,就是在一個Android應用中實現一個或多個類,再加上manifest檔案中的一些元素。你實現一個 ContentProvider的子類,它作為你的provider和其它應也之間的介面。儘管content

Why headless android

I have been asked several times, “What is the point of headless Android?” It’s not hard to see why the question is asked. Android, in essence, is a specialized user interface for a phone or tablet platform that runs on the Linux kernel. The Android

android 多媒體和相機詳解十

檢測可用的特性// get Camera parametersCamera.Parameters params = mCamera.getParameters();List<String> focusModes = params.getSupportedFocusModes();if (focusModes.contains(Camera.Parameters.FOCUS_MODE_AUTO)) { // Autofocus mode is

Android跟隨Linux進入嵌入式世界

轉載自:https://www.linux.com/news/embedded-mobile/mobile-linux/672837-android-follows-linux-into-wide-world-of-embeddedEarlier this month, Texas Instruments (TI) announced it was cutting 1,700 jobs and dropping its consumer mobile processors to focus

一步一步學android OpenGL ES2.0編程(1)

(歡迎大家加入android技術交流QQ群:209796692)建立OpenGL

Android 應用開發技巧之模版修改

Android 應用開發技巧之模版修改作者:李明志,嵌入式培訓講師。我們開發Android應用的時候,會使用Eclipse內建的模版來建立一個工程項目。工程項目建立好後,項目裡麵包含了很多根據模型寫好的內容,比如:

學習Android之使用者介面基礎

學習Android之使用者介面基礎作者:鄭萌,華清遠見嵌入式培訓講師。在上一次的學習中,我們主要瞭解了Android系統的進程優先順序排序、不同優先順序進程之間的變化方式,Android系統的四大基本組件及其用途,Activity的生命週期中各個狀態以及狀態間的變化關係、Android應用程式的調試方法和工具。在此基礎上,本章我們將進入對Android程式介面開發的學習,包括使用者介面基礎、使用者介面的控制項的使用、介面布局的特點及使用方法、菜單的使用方法、介面事件的處理方法等。5.1.

總頁數: 2771 1 .... 852 853 854 855 856 .... 2771 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.