• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
extAudioFileCreateURL and ExtAudioFileWrite problem
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

extAudioFileCreateURL and ExtAudioFileWrite problem


  • Subject: extAudioFileCreateURL and ExtAudioFileWrite problem
  • From: Tony Sheng <email@hidden>
  • Date: Mon, 15 Jun 2009 18:05:43 +0100

Hi, I embeded some codes in my audio unit in order to write audio files to disk.

I tried to use ExtAudioFileCreateWithURL and ExtAudioFileWrite
function. It goes through the compiler without any error. but still no
wave file generated. The following  code is to write three second sine
wave into an audio file named 'jon.wav':

for the .h file:
#define mysize 132300
#include <ExtendedAudioFile.h>

ExtAudioFileRef myWav;
AudioStreamBasicDescription WaveDescript;
float sample[mysize];

for the .cpp file:

//define audio format:
	WaveDescript.mFormatID = kAudioFormatLinearPCM;
	WaveDescript.mFormatFlags = kAudioFormatFlagIsSignedInteger |
kAudioFormatFlagIsBigEndian | kAudioFormatFlagIsPacked;
	WaveDescript.mSampleRate = 44100;
	WaveDescript.mChannelsPerFrame = 1;
	WaveDescript.mFramesPerPacket = 1;
	WaveDescript.mBytesPerPacket = 4;
	WaveDescript.mBytesPerFrame = 4;
	WaveDescript.mBitsPerChannel = 16;
	WaveDescript.mReserved = 0;

	OSStatus retCode;


//define wave file name here:

	CFStringRef waveFileName = CFSTR("file://jon.wav");

	CFURLRef waveFilePathName = CFURLCreateWithString(NULL, waveFileName, NULL);

//create new audio object
	retCode =ExtAudioFileCreateWithURL(waveFilePathName,
kAudioFileWAVEType,&WaveDescript, NULL, 1, &myWav);

//generate sine wave here:
	for (int i = 0; i < mysize; i++) {

		sample[i]=sin(float(i)/mysize*M_PI*1500);

	}



//warp sine wave into buffer:
	AudioBuffer mybuffer = {1, mysize, &sample[0]};

	AudioBufferList mybufferlist  = {1, mybuffer};

//write wave files here:

	retCode = ExtAudioFileWrite(myWav, mysize, &mybufferlist);

	retCode = ExtAudioFileDispose(myWav);

I cannot tell any fault from the complier, but it just writes nothing
onto disk. Can anyone help to find error causing the problem.

Many thanks
Tony
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: extAudioFileCreateURL and ExtAudioFileWrite problem
      • From: William Stewart <email@hidden>
  • Prev by Date: Audio Units and virtual device implementation
  • Next by Date: Re: extAudioFileCreateURL and ExtAudioFileWrite problem
  • Previous by thread: Re: Audio Units and virtual device implementation
  • Next by thread: Re: extAudioFileCreateURL and ExtAudioFileWrite problem
  • Index(es):
    • Date
    • Thread