2015-06-23 70 views
1

我的服務器上有一個30秒長的MP3文件。我只想將前5秒作爲「預覽」播放。只加載MP3文件的前5秒

目前我正在加載完整的MP3,然後通過AVAudioPlayer在前5秒播放文件。我遇到的問題是,如果用戶不在WiFi網絡上,這最終會在用戶的數據計劃方面變得昂貴。我想過找到一種方法來在x數量(我將要計算的)數據發送後中斷文件的下載,但不知道這是否是正確的解決方案。

任何建議表示讚賞。

回答

1

如果要傳輸音頻,請嘗試AVPlayer

可以使用的NSTimer:

[NSTimer scheduledTimerWithTimeInterval:numberOfSeconds 
    target:self 
    selector:@selector(stopAudio) 
    userInfo:nil 
    repeats:NO]; 

當你開始numberOfSeconds秒後流只是fire定時器和stopAudio方法停止音頻流。

+0

我正在使用類似的代碼來停止音頻,但不知道AVPlayer。在批准答案之前,讓我試試以確保我沒有任何問題。也謝謝你! –

+0

如果用戶有一個快速+昂貴的電話計劃,很可能在5秒內下載所有30秒。 – gnasher729

+0

我不擔心下載/流式傳輸的速度有多快。 @ gnasher729只是我創建的應用程序有很多「預覽」正在播放,目前的方式下載了整個文件,因爲我只是流傳輸前5秒,而不是保存用戶數據。我發現這很困難,因爲在查找這是主要原因之一= P之前,我重複了兩次數據計劃 –