IOS拼接MP3,歌曲檔案合成。

來源:互聯網
上載者:User

其實就是把MP3檔案轉成NSData,然後再進行拼合。

- (void)viewDidLoad{    [super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.        //音頻檔案路徑    NSString *mp3Path1 = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"mp3"];    NSString *mp3Path2 = [[NSBundle mainBundle] pathForResource:@"2" ofType:@"mp3"];    NSString *mp3Path3 = [[NSBundle mainBundle] pathForResource:@"3" ofType:@"mp3"];    //音頻資料    NSData *sound1Data = [[NSData alloc] initWithContentsOfFile: mp3Path1];    NSData *sound2Data = [[NSData alloc] initWithContentsOfFile: mp3Path2];    NSData *sound3Data = [[NSData alloc] initWithContentsOfFile: mp3Path3];        //合并音頻    NSMutableData *sounds = [NSMutableData alloc];    [sounds appendData:sound1Data];    [sounds appendData:sound2Data];    [sounds appendData:sound3Data];    //儲存音頻        NSLog(@"data length:%d", [sounds length]);        [sounds writeToFile:[self filePathWithName:@"tmp.mp3"] atomically:YES];            player = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:[self filePathWithName:@"tmp.mp3"]] error:nil];    player.delegate = self;    [player prepareToPlay];}- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag{    MPMusicPlayerController *ipodPlayer = [MPMusicPlayerController iPodMusicPlayer];    if ([ipodPlayer playbackState] == MPMusicPlaybackStateInterrupted) {        [ipodPlayer play];    }}- (void)didReceiveMemoryWarning{    [super didReceiveMemoryWarning];    // Dispose of any resources that can be recreated.}- (NSString *)filePathWithName:(NSString *)filename{    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);    NSString *documentsDirectory = [paths objectAtIndex:0];    return [documentsDirectory stringByAppendingPathComponent:filename];}- (IBAction)buttonClick:(id)sender {            [player play];    }
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.