Je veux ajouter deux fichiers audio dans l'iPhone. Aidez-moi s'il vous plaît à faire ceci.Comment ajouter deux fichiers audio?
Répondre
J'ai obtenu la solution; Voici l'exemple de code pour le faire.
AVMutableComposition* composition = [AVMutableComposition composition];
AVURLAsset* audioAsset1 = [[AVURLAsset alloc]initWithURL:[NSURL fileURLWithPath:filePath1] options:nil];
AVURLAsset* audioAsset2 = [[AVURLAsset alloc]initWithURL:[NSURL fileURLWithPath:filePath2] options:nil];
AVMutableCompositionTrack *audioTrack1 = [composition addMutableTrackWithMediaType:AVMediaTypeAudio
preferredTrackID:kCMPersistentTrackID_Invalid];
[audioTrack1 insertTimeRange:CMTimeRangeMake(kCMTimeZero, audioAsset1.duration)
ofTrack:[[audioAsset1 tracksWithMediaType:AVMediaTypeAudio] objectAtIndex:0]
atTime:kCMTimeZero
error:&error];
[audioTrack1 insertTimeRange:CMTimeRangeMake(kCMTimeZero, audioAsset2.duration)
ofTrack:[[audioAsset2 tracksWithMediaType:AVMediaTypeAudio] objectAtIndex:0]
atTime:audioAsset1.duration
error:&error];
Enfin, nous devons exporter dans un fichier unique à l'aide AVAssetExportSession
.
NOTE: Il ne fonctionnera que pour les fichiers .m4a
- (BOOL) combineVoices1
{
NSError *error = nil;
BOOL ok = NO;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
CMTime nextClipStartTime = kCMTimeZero;
//Create AVMutableComposition Object.This object will hold our multiple AVMutableCompositionTrack.
AVMutableComposition *composition = [[AVMutableComposition alloc] init];
AVMutableCompositionTrack *compositionAudioTrack = [composition addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_Invalid];
[compositionAudioTrack setPreferredVolume:0.8];
NSString *soundOne =[[NSBundle mainBundle]pathForResource:@"test1" ofType:@"caf"];
NSURL *url = [NSURL fileURLWithPath:soundOne];
AVAsset *avAsset = [AVURLAsset URLAssetWithURL:url options:nil];
NSArray *tracks = [avAsset tracksWithMediaType:AVMediaTypeAudio];
AVAssetTrack *clipAudioTrack = [[avAsset tracksWithMediaType:AVMediaTypeAudio] objectAtIndex:0];
[compositionAudioTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, avAsset.duration) ofTrack:clipAudioTrack atTime:kCMTimeZero error:nil];
AVMutableCompositionTrack *compositionAudioTrack1 = [composition addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_Invalid];
[compositionAudioTrack setPreferredVolume:0.3];
NSString *soundOne1 =[[NSBundle mainBundle]pathForResource:@"test" ofType:@"caf"];
NSURL *url1 = [NSURL fileURLWithPath:soundOne1];
AVAsset *avAsset1 = [AVURLAsset URLAssetWithURL:url1 options:nil];
NSArray *tracks1 = [avAsset1 tracksWithMediaType:AVMediaTypeAudio];
AVAssetTrack *clipAudioTrack1 = [[avAsset1 tracksWithMediaType:AVMediaTypeAudio] objectAtIndex:0];
[compositionAudioTrack1 insertTimeRange:CMTimeRangeMake(kCMTimeZero, avAsset.duration) ofTrack:clipAudioTrack1 atTime:kCMTimeZero error:nil];
AVMutableCompositionTrack *compositionAudioTrack2 = [composition addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_Invalid];
[compositionAudioTrack2 setPreferredVolume:1.0];
NSString *soundOne2 =[[NSBundle mainBundle]pathForResource:@"song" ofType:@"caf"];
NSURL *url2 = [NSURL fileURLWithPath:soundOne2];
AVAsset *avAsset2 = [AVURLAsset URLAssetWithURL:url2 options:nil];
NSArray *tracks2 = [avAsset2 tracksWithMediaType:AVMediaTypeAudio];
AVAssetTrack *clipAudioTrack2 = [[avAsset2 tracksWithMediaType:AVMediaTypeAudio] objectAtIndex:0];
[compositionAudioTrack1 insertTimeRange:CMTimeRangeMake(kCMTimeZero, avAsset2.duration) ofTrack:clipAudioTrack2 atTime:kCMTimeZero error:nil];
AVAssetExportSession *exportSession = [AVAssetExportSession
exportSessionWithAsset:composition
presetName:AVAssetExportPresetAppleM4A];
if (nil == exportSession) return NO;
NSString *soundOneNew = [documentsDirectory stringByAppendingPathComponent:@"combined10.m4a"];
//NSLog(@"Output file path - %@",soundOneNew);
// configure export session output with all our parameters
exportSession.outputURL = [NSURL fileURLWithPath:soundOneNew]; // output path
exportSession.outputFileType = AVFileTypeAppleM4A; // output file type
// perform the export
[exportSession exportAsynchronouslyWithCompletionHandler:^{
if (AVAssetExportSessionStatusCompleted == exportSession.status) {
NSLog(@"AVAssetExportSessionStatusCompleted");
} else if (AVAssetExportSessionStatusFailed == exportSession.status) {
// a failure may happen because of an event out of your control
// for example, an interruption like a phone call comming in
// make sure and handle this case appropriately
NSLog(@"AVAssetExportSessionStatusFailed");
} else {
NSLog(@"Export Session Status: %d", exportSession.status);
}
}];
return YES;
}
J'utilise aussi une méthode similaire. Mais obtenir un fichier relativement plus grand. Connaissez-vous une méthode pour diminuer la taille. Une idée pour ajuster le taux d'échantillonnage de la sortie? – ratul
Vous pouvez utiliser un autre format de sortie plutôt que m4a – Superdev
Oui, je l'ai trouvé alors. Le nom actuel d'exportation contrôle la qualité de la sortie. En tout cas merci mec. – ratul
- 1. Comparer deux fichiers audio
- 2. Mélange de deux fichiers audio avec python
- 3. Comparer deux fichiers audio dans iOS
- 4. Fichiers audio enregistrés
- 5. Silverlight: comment synchroniser parfaitement les fichiers audio?
- 6. merge Fichiers audio sur iPhone
- 7. Fichiers audio AU pour Java
- 8. Comment puis-je comparer deux fichiers audio sur la base de certains paramètres disent maximum décibel?
- 9. Comment « Ajouter » deux octets ensemble
- 10. Comment ajouter deux valeurs textField
- 11. iPhone - certains fichiers audio ne jouent pas
- 12. Fusion de deux fichiers ASF
- 13. XCode: Deux cibles, deux fichiers principaux?
- 14. Ajouter un canal audio en utilisant ffmpeg
- 15. Comment jouer plusieurs fichiers audio à l'aide AVAudioPlayer
- 16. Similitude de perception entre deux séquences audio
- 17. Existe-t-il un moyen de comparer deux fichiers de morceau (audio/vidéo)?
- 18. Django: Comment Ajouter statique Fichiers
- 19. comparaison audio
- 20. Enregistrer des fichiers audio en pygame
- 21. AVMutableComposition - deux pistes audio parallèles sont-elles possibles?
- 22. Comment convertir des fichiers audio WAV pour une lecture Core Audio?
- 23. Drupal - comment ajouter ajouter la même page à deux menus?
- 24. Javascript Audio Player - Ajouter .ogg à .mp3 array
- 25. Comment puis-je stocker des fichiers audio dans sqlite ..?
- 26. Comment lire les fichiers audio les uns après les autres
- 27. iPhone - Comment convertir des fichiers audio AIFF en AAC?
- 28. Comment crypter et décrypter des fichiers audio en Java?
- 29. Can iphone peut-il mélanger deux fichiers audio ou créer un égaliseur personnalisé?
- 30. Deux fichiers audio fusionnés en un seul fichier, et enregistrer dans le disque
où voulez-vous faire? pc? sur l'iphone? –
C'est pour iPhone. – jfalexvijay