2013-05-21 86 views
2

我真的很難理解如何在iPhone應用程序中嵌入許多圖像和聲音。當我說嵌入時,我的意思是我想要將圖像和聲音與應用程序一起下載,其中一些圖像將在應用程序運行時顯示。其他圖像只保存在應用程序的磁盤空間中,以便當用戶按下按鈕時,圖像或聲音將被訪問並顯示或播放。如何在iPhone應用程序中嵌入圖像和聲音?

我已經在使用「核心數據」和這樣的閱讀教程,但這隻似乎是一種方法來創建可用於引用這樣的數據項,或用於存儲小文件的二進制數據對象。有人可以告訴我如何在Xcode我可以指定一個圖像的目錄和.mp3s與我的應用程序加載到手機上,然後我可以用代碼調用這些媒體?

用於以下將徹底解決我的問題一些示例代碼:

的應用程序加載到手機,它包含3個按鈕。如果用戶按下按鈕#1,則聽到聲音。按鈕#2播放不同的聲音,按鈕#3將UIImageView更改爲不同的圖片。 (這不是一個家庭作業什麼的,但如果我能編寫這個例子中,我能做到的一切,我需要在我的應用程序和了解的過程)

謝謝!

+0

是否有任何理由在項目中添加圖像/聲音並使用[UIImage imageNamed:@「foo」]和[NSBundle pathForResource:ofType:]不起作用? – BergQuester

+0

這可能工作得很好,我只需要明白你的意思。所以,我應該在我的項目中創建一個名爲media的文件夾,然後使用文件 - >添加文件功能來添加所有圖像和聲音,然後執行什麼操作?如何以編程方式顯示其中一個圖像或播放聲音? (我不明白這一點:[NSBundle pathForResource:ofType:]) – jake9115

回答

2

我的意思是我想要的圖像和聲音,以與應用程序

只需添加圖像和聲音到您的項目進行下載。確保您指定(在「添加文件到項目」對話框中)他們將被複制到項目中並且他們將成爲目標的一部分。其結果將是,該圖像和聲音將被內置到您的應用程序(在所謂的,特別是主束 - 看到一個NSBundle文檔)。然後,您可以根據需要使用代碼將其提取出來。例如,要獲取圖像,請使用imageNamed:。要引用聲音,請將該文件稱爲主包中的資源。

其它影像剛纔保存在應用程序的磁盤空間

這是一個完全不同的事情。當應用程序運行時,您必須從某處獲取圖像。沒有辦法讓用戶下載應用程序,並且圖像最終在應用程序的磁盤空間中:應用程序必須在應用程序運行時實時填充其磁盤空間。在用戶下載應用程序時,應用程序包本身之外的相關磁盤空間將爲空。

+0

感謝您的概念澄清,我認爲這一定是這種情況,但在瞭解iPhone持久性時感到困惑。這真的清除了一切! – jake9115

2

有關圖像,請參閱對this question的回覆。

聲音是類似的圖像,但是加載不同,this tutorial展示如何加載和播放聲音。

對於保存在安裝應用程序後,你需要在你的代碼,下載並保存這些文件的文件。對於初學者,請參見Apple's guide to the iOS file system

+0

意想不到的鏈接。我給了其他用戶的複選標記,因爲它在概念上更有幫助,但您的回答肯定會有助於我的應用程序開發! – jake9115

相關問題