2009-09-25 56 views
2

我的應用需要幾秒鐘才能加載,我有一個啓動畫面。一旦「viewDidLoad」我有一點聲音播放。我覺得如果在啓動畫面彈出時開始播放,聲音會更好地使用。啓動屏幕之前/期間是否可以啓動聲音?在啓動畫面之前/期間是否可以播放聲音?

這裏是我的代碼:(viewDidLoad中下)

NSString *soundFilePath = [[NSBundle mainBundle] pathForResource: @"intorSound" ofType: @"aif"]; 
     NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: soundFilePath]; 
     player = [[AVAudioPlayer alloc] initWithContentsOfURL: fileURL error: nil]; 
     [player setVolume: soundVolumeValue]; // available range is 0.0 through 1.0 
     [player play]; 

     [fileURL release]; 

謝謝您的時間!

回答

4

一個小技巧是使用相同的閃屏作爲您爲Default.png,讓你控制的無縫過渡到代碼。當applicationDidLaunch被調用時,開始播放聲音,並顯示啓動畫面。如果你願意,你也可以在啓動畫面上放一點進度指示器。在viewDidLoad中,當你完成所有的初始化時,做一個2-5秒左右的閃屏淡入。您可以使用代碼打開屏幕,從而讓用戶有時間閱讀啓動屏幕或點擊屏幕來解除啓動屏幕。這一切都使得Default.png顯示的時間量沒有聲音顯得微不足道。

+0

一秒鐘最大......兩到五秒永遠! – 2010-04-25 18:19:38

+0

的確如此,但是如果您的啓動畫面是您想讓用戶閱讀的內容,那麼您需要給他們的眼睛足夠的時間。如果你所做的只是一個標誌或一個圖形,那麼短小就更好。請記住,您可以通過輕按來關閉屏幕及其淡出,這樣,用戶可以在應用加載後儘快使用您的應用。此外,如果您覺得用戶在開始幾次後不需要太多時間閱讀啓動畫面,則可以減少顯示第n次或更多時間的時間。 – mahboudz 2010-04-26 19:16:10

+0

這不是在應用程序完成啓動期間播放聲音的正確方式...我嘗試過,但存在問題,可能存在Default.png設置的某些方法。因此,當啓動屏幕出現時,我無法立即播放音樂,使用Default.png播放音樂有延遲!所以你可以建議其他的方式...除此之外,我被卡住了相同.. – 2010-12-02 06:34:06

1

您可以顯示自己的啓動畫面並在後臺加載您的應用程序。這樣,只要applicationDidLauch完成,您就可以顯示自己的啓動畫面和聲音,然後在用戶看到時加載其餘部分。

+0

謝謝。但是我希望在應用第一次啓動時就開始播放聲音。 – Jeff 2009-09-25 17:11:43

+0

你不能。您只能在default.png和您的代碼執行之間縮短這段時間。 – coneybeare 2009-09-25 17:18:24

+0

多數民衆贊成多少我認爲非常感謝你 – Jeff 2009-09-25 17:37:30

0

我想離開閃屏了更長的時間來播放聲音的技術,但要注意你與HIG準則搞亂該國「避免顯示的關於窗口,啓動畫面,或提供任何其他類型的啓動,經驗,阻止人們立即使用您的應用程序。「 (第45頁)

他們也談論更多關於啓動圖像頁。 123並強調它不應該建立你的品牌。然而,你總是看到這一點,它有時被稱爲「最常破的規則」 - 但要注意你旁邊有一條線跳舞。