This article mainly shares some experience in developing and applying audio streaming media on the mobile phone platform, which is translated from the original address of the radio Stream Transcoding bible by Werner ruotsalainen, interspersed with some superficial development experiences, I believe it will help and inspire everyone's mobile streaming media development and application :)
As mobile traffic fees decrease and network radio stations increase, listening to network radio stations on mobile phones has become a very valuable application. This article introduces
Some practices;
1. Use the same bandwidth to get the perfect sound quality
2. You can save a lot of traffic fees while maintaining the same sound quality.
3. More power-saving, because G is more power-saving than 3G
4. Let you hear some radio stations that you never imagined due to network or Operating System Restrictions
5. It makes managing radio collections easier. You don't need to switch between different radio programs, but they all have similar protocols.
This article is part of my multimedia Bible, which will be published next month. In the next multimedia Bible, I will launch video streaming.
Development Guide)
This guide is also cross-platform like other multimedia development articles. If you are just a WM or Symbian Developer, you should also understand
Multimedia Development Features of other platforms. It is best for you to have WM/Symbian testing machines. For example, I usually use Nokia N95 for me.
The main entertainment and web browsing, mail sending and receiving, and communication, why, because compared with any WM mobile phone, because of its powerful a2dp quality
Stereo speakers, lightweight body and good standby time; in contrast, I am Another HTC oxygen (s310) based on a Pocket PC)
It seems as heavy as a brick, but because it is cheap and its powerful phone recording function, I often put it in my pants pocket.
In addition, I plan to learn about the palm system, because my tunsten T3 mobile phone does not have a wificard (kge: There are so many mobile phones in my buddy), so I
Streaming media cannot be tested on it. If you have a Wi-Fi card, you can send it to me. If you are in Europe, it is more convenient. After all
Pocket tunes is a super good audio player.
Introduction
When you listen to a broadcast station, you will surely encounter a situation where you cannot listen to a station. The solution is as follows:
1.1 you can't hear it at all
First, let's see why your cell phone cannot play that station.
1. Your connection speed is not enough to play the stream correctly. For example, if you want to listen to a 64 Kbps radio station in the standard GPRS network, and your network connection
Cannot exceed 43 kbps. In this case, no matter how much buffer you use, it is difficult to avoid serious pauses. You don't need a 3G network.
Will not be improved. Even if your mobile phone supports 3G and the necessary signal, you may still choose to disable 3G and go back to GPRS. The most important original
Because the current 3G module consumes too much power, even the high-end wm htc Kaiser or Nokia N95.
In the above cases, you certainly want to use some methods to reduce the bit rate of these audio streams. Using existing technologies, You can enhance the quality of FM
I'm not kidding!
Note that this article assumes that you only have GPRS connections. Unfortunately, some GSM carriers stick to the GPRS + 3g architecture and discard the 2.75g and edge technologies (
This article was written at the beginning of and is now widely used in EDGE networks in China :)). EDGE networks have a high speed (up to 236 kbps, for a wide range of networks
It is enough for broadcasting) and low energy consumption. As far as I know, it is similar to GPRS.
2. You have to listen to the RTSP stream, but the operator does not support direct Internet connections (kge: you are using a cmwap access point, you should choose cmnet
When you intervene, cmnet is equivalent to a separate Internet IP address on your mobile phone, while cmwap requires a Transit server ). They use the firewall and NAT technology to enable
Streaming Media Servers cannot connect to mobile phones at all. Unfortunately, 60% of GSM carriers in the world do this.
Unfortunately, many network stations use the RTSP protocol. Most importantly, all
Mplayer, which uses the Firewall/NAT-friendly HTTP protocol instead of the RTSP protocol. This means
You cannot listen to real-time broadcast stations unless your carrier does not use NAT.
Even if you have a fast network, you still cannot play some streams. The most important factor is the WMA on Symbian.
(Windows Media Audio ). The Nokia built-in player can play local WMA files, but cannot play WMA streams. (Coreplayer can play WMA streams,
However, even in the latest version, the network module is so poor that serious problems may occur after playing for a while, not only in WMA
The same applies to streams in other formats. Hope the next version can be improved)
1.2 When a radio station barely listens but needs Optimization
The most common situation is that the downstream bandwidth of the GPRS connection is less than 43 kbps, which means the bit rate of the valid broadcast stream is 32 Kbps. The default value is 32 Kbps.
Network radio stations have the same problem: these audio streams are generally single-channel and sound quality is also very general. Of course, if you are in an edge network
It can withstand the bit rate of most network radio stations.
If you do not believe that using GPRS (or edge) is more energy-efficient than 3G, you can use tcpmp to open an MP3 stream on a Windows Mobile Phone.
Acvtaskman: the first is UMTS (3G standard), and the second is GPRS. The difference in the current CPU usage is
200mA/300mA = 60%. That is to say, if you set the mobile phone to use GPRS mode, the power consumption will be reduced by 60%!
Kge: For Windows Mobile smartphones, you can use tcpmp to listen to broadcasts, and you can simply use the built-in Windows Media Player for MMS: // radio stations. Nokia Internet radio on Symbian can listen to ShoutCast MP3 streams, and the new version of coreplayer can also listen to MMS streams. However, since WMA is a proprietary protocol of Microsoft, coreplayer's support for MMS streams is not publicly available.
Next we will give an overview of mainstream audio streaming media formats. Generally, mobile phones support WMA, RealAudio, and some 3G formats (based on RTSP), winamp PLS, and Flash. Unfortunately, many formats only support the RTSP protocol, meaning that these formats are completely useless unless the carrier uses Nat 'ING (exposing your mobile phone to the Internet.
The following table shows the audio support for mobile phone operating systems WM and Symbian in Nat 'ed and non-Nat 'ed (direct ).
Windows Mobile:
Symbian: