Playing mp3 with delphi - delphi

Which component to use to play mp3 files from streams/files and also to know the lenght in seconds of that mp3 stream?

You could use the Bass audio library.
http://www.un4seen.com/
Search for "MP3" on the 3D Buzz site. They have a series of video tutorials that walk you through the creation of your own MP3 player in Delphi using this library. Free membership required.
http://www.3dbuzz.com

You can also use the components at www.mitov.com which has an Audio suite that can handle this type of file.

try DSPack which are set of Components to write Multimedia Applications.

I use NewAc components for audio conversion and filtering, it can play MP3 and several others formats.

Related

AUGraph and streaming audio (http and ets)

I have player based on AUGraph (i need equalizer). Player can play local audio files. Now i want to add support stream audio. What i can use for it ? Anyone standart class like AVAssetReader (AVAssertReader can't play stream :( ), or maybe anyone know open lib for it ? Thanks.
As steaming is now supported natively in AVPlayer, there aren't too libs which are actively supported. One which has been around for some time (i've used it myself in the past) is Matt Gallagher's AudioStreamer, https://github.com/mattgallagher/AudioStreamer, or Thong Nguyen StreamingKit, https://github.com/tumtumtum/StreamingKit
An alternative approach you might want to consider is an implementation similar to the one demonstrated in Apple's AudioTapProcessor. Essentially inserting an MTAudioProcessingTap into AVPlayer's pipeline to introduces a kAudioUnitSubType_BandPassFilter AudioUnit. A similar approach could be used to introduce an kAudioUnitSubType_NBandEQ AudioUnit.

how to compress audio file in iphone application

i am developing a new application,for that app i need to compress the audio files.i dono how to do that.can any one help?
Thanks In Advance..
The best choice of audio format depends on how you are using the audio; for example, is it for a short alert sound? Or is it a longer piece which plays for some time? What sort of quality is required?
It's quite likely you will need to use AAC, which is one of the most common compressed audio formats supported by iOS.
You should find all the answers in the documentation:
Core Audio Introduction
Playing Audio

Mixing and equalizing multiple streams of compressed audio on iOS

What I'm trying to do is exactly as the title says, decode multiple compressed audio streams/files - it will be extracted from a modified MP4 file - and do EQ on them in realtime simultaneously.
I have read through most of Apple's docs.
I have tried AudioQueues, but I won't be able to do equalization, as once the compressed audio goes in, it doesn't come out ... so I can't manipulate it.
Audio Units don't seem to have any components to handle decompression of AAC and MP3 - if I'm right it's converter only handles converting from one LPCM format to another.
I have been trying to work out a solution on and off for about a month and a half now.
I'm now thinking, use a 3rd party decoder (god help me; I haven't a clue how to use those, the source code is greek; oh and any recommendations? :x), then feed the decoded-to LPCM into AudioQueues doing EQ at the callback.
Maybe I'm missing something here. Suggestions? :(
I'm still trying to figure out Core Audio for my own needs, but from what I can understand, you want to use Extended Audio File Services which handles reading and compression for you, producing PCM data you can then hand off to a buffer. The MixerHost sample project provides an example of using ExtAudioFileOpenURL to do this.

Delphi videos in any other format than flash?

Everyone knows about there instructional videos http://delphi.wikia.com/wiki/Delphi_Videos but I want to watch them on my iPad when I go on vacation.
The problem is the videos are in swf and will not play on my iPad. Does any know of another source for these videos in another format?
Thanks.
For the moment flash video is the container of choice for most video content on the internet. Saif is right. If you want those specific videos you'll need to convert them yourself. There are several decent flv to mp4 converters available for free (Miro comes to mind). SWF is takes a bit more work to extract the video content.
Now if you are looking for Delphi content that's already available in MPEG 4 you can try http://edn.embarcadero.com/tv. The content from the most recent Coderage event is available as an mp4 download.
You can convert them into a proper format using a free video convert like Any Video Converter
I've had reasonable success watching on-line Flash content on my iPad using iOSFlashVideo.
Not tried it on off-line flash files though.
--jeroen

How to change mp3 bitrate ? (Delphi)

how can i change the constant bitrate(CBR) of mp3 files ? (such as 64kbps - 128kbps - 192kbps)
BASS is a good library for sound handling.
It includes wrappers for Delphi.
Reencoding involves decoding the MP3 files, then encode in a different bitrate.
BASS can natively decode MP3 files and streams.
BASS has encoder-wrappers for various encodings (using external encoders) for instance using LAME for MP3 encoding (the easiest is to pick download a precompiled Lame Bundle).
BASS licensing is free for non-commercial use.
They have a great forum for support.
--jeroen
You need to re-encode the mp3. Since I know of no good mp3 codec written in Delphi you'll need a wrapper around a c library such as lame.
If you have access to the original audio-data (Wave, FLAC,...) then you better encode from the lossless to the new bit-rate since chaining lossy encodes reduces the quality.
You might also need to look into the mp3 licensing terms. Some kinds of usage are free, but you need to pay for others.

Resources