home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-12-05 | 1.7 KB | 67 lines | [TEXT/MPS ] |
- /*
- File: mtb10.c
- Contains: Sound Functions
- Written by: DTS and QT Engineering
- Copyright: © 1992-1994 by Apple Computer, Inc., all rights reserved.
- Change History (most recent first):
- <1> 12/4/94 khs changed the format of the file to the new look and feel
- To Do:
- */
-
-
- // INCLUDES
- #include "mtb.h"
-
-
- // FUNCTIONS
- void CreateMySoundTrack(Movie theMovie)
- {
- Track theTrack;
- Media theMedia;
- Handle sndHandle = nil;
- SoundDescriptionHandle sndDesc = nil;
- long sndDataOffset;
- long sndDataSize;
- long numSamples;
- OSErr err = noErr;
-
-
- sndHandle = GetResource('snd ', 128);
- CheckError(ResError(), "\pGetResource");
- if (sndHandle == nil)
- return;
-
- sndDesc = (SoundDescriptionHandle)NewHandle(4);
- CheckError(MemError(), "\pNewHandle");
-
- CreateSoundDescription(sndHandle, sndDesc, &sndDataOffset, &numSamples, &sndDataSize);
-
- theTrack = NewMovieTrack(theMovie, 0, 0, kFullVolume);
- CheckError(GetMoviesError(), "\pNewMovieTrack");
-
- theMedia = NewTrackMedia(theTrack, SoundMediaType, FixRound((**sndDesc).sampleRate), nil, 0);
- CheckError(GetMoviesError(), "\pNewTrackMedia");
-
- err = BeginMediaEdits(theMedia);
- CheckError(err, "\pBeginMediaEdits");
-
- err = AddMediaSample(theMedia, sndHandle, sndDataOffset,// offset in data
- sndDataSize, 1, // duration of each sound sample
- (SampleDescriptionHandle)sndDesc, numSamples, 0,// self-contained samples
- nil);
- CheckError(err, "\pAddMediaSample");
-
- err = EndMediaEdits(theMedia);
- CheckError(err, "\pEndMediaEdits");
-
- err = InsertMediaIntoTrack(theTrack, 0, // track start time
- 0, // media start time
- GetMediaDuration(theMedia), fixed1);
- CheckError(err, "\pInsertMediaIntoTrack");
-
- if (sndDesc != nil)
- DisposeHandle((Handle)sndDesc);
- }
-
-
-