hey,
versuch gerade ein programm zum repitchen von mp3-dateien zu schreiben. konkret geht es darum ein mp3-file zu laden und es mit veränderter geschwindigkeit( wobei hier echtes repitchen gemeint ist, also die tonhöhe verändert sich auch) neu zu speichern.
mein versuch war das problem mit QTMovie zu lösen, ich schaff es nur nicht, das Video mit der neuen Rate zu exportieren.
MyController.h
Alles anzeigen
MyController.m
Alles anzeigen
hab ich irgndwas übersehen oder ist es nicht möglich für diesen Zweck QTMovie zu verwenden? Denn Core Audio und ähnliches würd ich mir gern ersparen; allein das Zurechtkommen mit Xcode, Properties, Speichermanagement, Dokumentation und allgemein OOP ist schon genug fürs erste Programm...
danke
versuch gerade ein programm zum repitchen von mp3-dateien zu schreiben. konkret geht es darum ein mp3-file zu laden und es mit veränderter geschwindigkeit( wobei hier echtes repitchen gemeint ist, also die tonhöhe verändert sich auch) neu zu speichern.
mein versuch war das problem mit QTMovie zu lösen, ich schaff es nur nicht, das Video mit der neuen Rate zu exportieren.
MyController.h
Quellcode
- #import <Foundation/Foundation.h>
- #import <QTKit/QTKit.h>
- @interface MyController : NSObject {
- NSDictionary *exportAttributes;
- NSURL *trackURL;
- QTMovie *theMovie;
- IBOutlet NSTextField *trackName;
- }
- - (void)awakeFromNib;
- - (IBAction) openPanel: sender;
- - (IBAction) savePanel: sender;
- @property (retain) NSDictionary *exportAttributes;
- @property (retain) NSURL *trackURL;
- @property (retain) QTMovie *theMovie;
- @end
MyController.m
Quellcode
- #import "MyController.h"
- @implementation MyController
- - (void)awakeFromNib
- {
- self.exportAttributes = [NSDictionary dictionaryWithObjectsAndKeys:
- [NSNumber numberWithBool:YES], QTMovieExport,
- [NSNumber numberWithLong:kQTFileTypeWave], QTMovieExportType, [NSNumber numberWithFloat:4],QTMoviePreferredRateAttribute,nil];
- }
- - (IBAction) openPanel:(id)sender
- {
- NSOpenPanel *myOpenPanel = [NSOpenPanel openPanel];
- if ([myOpenPanel runModal] == NSOKButton){
- self.trackURL = [myOpenPanel URL];
- [trackName setStringValue: [trackURL relativeString]];
- self.theMovie = [QTMovie movieWithURL: trackURL error:nil];
- }
- }
- - (IBAction) savePanel:(id)sender
- {
- NSSavePanel *mySavePanel = [NSSavePanel savePanel];
- if([mySavePanel runModal] == NSOKButton){
- NSString *newFileName = [NSString stringWithString:[mySavePanel filename]];
- [theMovie writeToFile:newFileName withAttributes:exportAttributes error:nil];
- }
- }
- @synthesize exportAttributes,trackURL,theMovie;
- @end
hab ich irgndwas übersehen oder ist es nicht möglich für diesen Zweck QTMovie zu verwenden? Denn Core Audio und ähnliches würd ich mir gern ersparen; allein das Zurechtkommen mit Xcode, Properties, Speichermanagement, Dokumentation und allgemein OOP ist schon genug fürs erste Programm...
danke