Re: AudioFile.h
Re: AudioFile.h
- Subject: Re: AudioFile.h
- From: James McCartney <email@hidden>
- Date: Wed, 23 Apr 2003 17:19:36 -0700
On Wednesday, April 23, 2003, at 03:19 PM, matt ingalls wrote:
this is what i am seeing.
BUT
i am STILL not able to get aiff and wav files to work:
AudioFileOpen returns no error
but then AudioFileGetProperty() calls for
kAudioFilePropertyDataFormat,
kAudioFilePropertyAudioDataByteCount,
and kAudioFilePropertyAudioDataPacketCount
all set the propertyData to zero.
Sd2 files work fine. Any idea why this may be happening?
[i am running 10.2.5 with a macho carbon codewarrior 8.3 proj]
Try this program. Works on my 10.2.5 system. I used project builder.
//---
#include <AudioToolbox/AudioToolbox.h>
bool FSRefFromPath(FSRef* outFSRef, CFStringRef inAbsolutePath)
{
CFURLRef url = CFURLCreateWithString(0, inAbsolutePath, 0);
bool result = CFURLGetFSRef(url, outFSRef);
CFRelease(url);
return result;
}
int main (int argc, const char * argv[])
{
FSRef fsRef;
if (!FSRefFromPath(&fsRef,
CFSTR("/System/Library/Sounds/Submarine.aiff")))
return 1;
AudioFileID afid;
OSStatus err = AudioFileOpen(&fsRef, fsRdPerm, 0, &afid);
printf("err %lu %4.4s\n", err, (char*)&err);
if (err) return 2;
AudioStreamBasicDescription srcFmt;
UInt32 propertySize = sizeof(srcFmt);
err = AudioFileGetProperty(afid, kAudioFilePropertyDataFormat,
&propertySize, &srcFmt);
printf("kAudioFilePropertyDataFormat err %lu %4.4s\n", err,
(char*)&err);
if (err) return 3;
printf("mFormatID %4.4s\n", (char*)&srcFmt.mFormatID);
printf("mFormatFlags 0xlX\n", srcFmt.mFormatFlags);
printf("mSampleRate %g\n", srcFmt.mSampleRate);
printf("mBitsPerChannel %lu\n", srcFmt.mBitsPerChannel);
printf("mChannelsPerFrame %lu\n", srcFmt.mChannelsPerFrame);
printf("mBytesPerPacket %lu\n", srcFmt.mBytesPerPacket);
printf("mFramesPerPacket %lu\n", srcFmt.mFramesPerPacket);
printf("mBytesPerFrame %lu\n", srcFmt.mBytesPerFrame);
UInt64 numBytes;
propertySize = sizeof(numBytes);
err = AudioFileGetProperty(afid, kAudioFilePropertyAudioDataByteCount,
&propertySize, &numBytes);
printf("kAudioFilePropertyAudioDataByteCount err %lu %4.4s\n", err,
(char*)&err);
if (err) return 4;
printf("numBytes %llu\n", numBytes);
UInt64 numPackets;
propertySize = sizeof(numPackets);
err = AudioFileGetProperty(afid,
kAudioFilePropertyAudioDataPacketCount, &propertySize, &numPackets);
printf("kAudioFilePropertyAudioDataPacketCount err %lu %4.4s\n", err,
(char*)&err);
if (err) return 5;
printf("numPackets %llu\n", numPackets);
err = AudioFileClose(afid);
printf("err %lu %4.4s\n", err, (char*)&err);
if (err) return 6;
return 0;
}
//---
---
James McCartney email@hidden
Apple CoreAudio
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.