簡體   English   中英

是否可以使用NSTimer來顯示AVAudioPlayer的音頻文件的剩余時間?

[英]Is there an alternative to using an NSTimer to display remaining time of audio file with AVAudioPlayer?

我用AVAudioPlayer播放音樂,想要顯示剩余時間。 似乎有很多人認為NSTimer會每秒觸發,但我擔心這樣效率低且容易出錯。 由於NSTimer不是非常精確的定時(我聽說過),定時器可能會在相同的音頻秒內觸發兩次,倒計時則跳過一秒鍾。 這也是拉模型。

是否有一種更精明的方式, AVAudioPlayer每次一秒鍾就會調用我的倒計時?

雖然NSTimer是半不准確的,但你仍然可以讓它每隔一秒左右調用一次,並從歌曲的currentTime屬性中獲取信息,並將其與duration屬性進行比較。 從那以后你可以計算剩余時間等。

AVAudioPlayer文檔

沒有回調可以幫助您在播放音頻文件時更新時間顯示。 NSTimer方法是應該如何完成的。 如果由於NSTimer觸發精度而關注顯示中的不准確性,只需減少計時器的更新間隔。 保持工作負載在您的實現中亮起,並將間隔設置為500毫秒,或者可能是250毫秒......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM