2013-03-02 79 views
2

是否可以播放音頻文件的某些部分。所以,我有一個有很多聲音的音頻文件。在這種情況下,一個音頻文件就像一個「ARRAY」,持有許多物品。我想通過播放{5:01 and stop at 6:08}這樣的東西來分離部分音頻。這可能嗎?我非常瞭解Xcode,所以這可能是一個愚蠢的問題。謝謝。如果您有任何需要,請在下面評論。在iOS中播放音頻文件的部分問題?

+0

這與xcode不相關,它是一個IDE。 – 2013-03-02 04:19:38

+0

這絕對有可能,因爲我已經做到了。不過,我手邊沒有這些代碼。像Murali的代碼,IIRC。 – 2013-03-02 04:39:02

回答

5

播放音頻一定的時間不可用..但我們可以通過以下方式來做到這一點。

-(void)Play 
{ 
    AVAudioPlayer *avPlayer = [[AVAudioPlayer alloc]initWithContentsOfURL:[NSURL fileURLWithPath:[FileDetailsRec valueForKey:@"Path"]] error:nil]; 
    [avPlayer setCurrentTime:5.01f]; 
    [avPlayer prepareToPlay]; 
    [avPlayer play]; 
    objTimer = [NSTimer scheduledTimerWithTimeInterval:1.07f target:self selector:@selector(stop) userInfo:nil repeats:NO]; 
} 

-(void)stop 
{ 
    [objTimer invalidate]; 
    [avPlayer stop]; 
} 
+0

謝謝,這有助於很多。有沒有辦法重置計時器? – 2013-03-02 04:38:40

+0

爲NsTimer取一個對象,然後在stop方法中放置這個[objTimer invalidate]; http://stackoverflow.com/questions/15170518/how-to-stop-invalidate-nstimer – Murali 2013-03-02 04:41:07

+0

請檢查我編輯的答案... – Murali 2013-03-02 04:47:30

2

這一次可能是通過使用AVAudioPlayer但我不知道這一個一次看到這個參考類 AVAudioPlayer 在這個類BU使用下面的方法,你可以得到你的要求

- (BOOL)playAtTime:(NSTimeInterval)time and for stoping use NSTimer like 


[NSTimer scheduledTimerWithTimeInterval:(place your time interval) 
            target:self 
           selector:@selector(stop) 
           userInfo:nil 
           repeats:NO];