For a single application to do that, a director projector would work.

The fileIO Xtra can acompolish what you need with the text files if you're ok with plain vanilla .txt files.

For opening the media files, you would have to know the type of file being loaded, and the location.
mpg and wmv files are a bit tricky, requiring either mci lingo commands, ActiveX lingo controls or an MpegXtra. (the QuickTime Xtra can be used for mpeg files, but it's tempermental)

For most everything else, you have a video and audio member already linked and then simply:

member("myVidMember).filename="AbsoluteFilePath"
go to frame "PlayVideo"

or

member("mySoundMember).filename="AbsoluteFilePath"
sound(1).play(member("mySoundMember"))
on writeFile
-- establish the absolute file path for the file you are saving
filePath = the moviePath & "demoSaveFile"
-- set the text
fileText = member("user message").text

-- check for empty text
if fileText = "" then
alert "Please enter a text message to save"
exit
end if

-- create a new instance of the fileIO Xtra
fileIOInstance = xtra("FileIO").new()

-- error trap for missing file Xtra
if not fileIOInstance.objectP then
alert "File IO Xtra missing"
exit
end if

-- create the file
fileIOInstance.createFile(filePath)

-- status is a value returned by the fileIO Xtra reporting the status of the last FileIO command executed.
-- in this case it's the result of executing "createFile(fileIOInstance, filePath)"
case fileIOInstance.status() of
0: -- new file created so do nothing
nothing

-122: -- file already exists, so delete it to get rid of the old data and create a fresh file
fileIOInstance.openFile(filePath, 0)
delete(fileIOInstance)
fileIOInstance.createFile(filePath)
otherwise
alert "Error: " & fileIOInstance.error(fileIOInstance.status())
exit
end case

-- open the file and write the file text
fileIOInstance.openFile(filePath, 0)
fileIOInstance.writeString(fileText)
-- close the file
fileIOInstance.closeFile()
end