No sound on XM Radio

Asked by Edward S. Benish

I installed Ununtu 5.10, the installation was smooth and easy,but I used Firefox ot access the "XM Radio site" I could not get any sound from it. a message popped up and said/ Totem could not play 1fd:110, there are no decoders to handle the stream, you might need to install the corresponding plugins. how do I get these plugins and install them.
Also there is no security for Ubuntu, "Firewall or Anti-Virus" is there any available.
Thank you
Ed
Try www.xmradio.com
thank you

Question information

Language:
English Edit question
Status:
Answered
For:
Ubuntu gnome-panel Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
David Mandelberg (dseomn) said :
#1

Could you please provide a link to the XM radio website?

About security: Anti-virus isn't necessary as there are virtually no effective viruses and security updates fix flaws that allow virus-like files. For a good and easy firewall, go to Applications -> Add Applications and install Firestarter under System Tools -> More programs...

Revision history for this message
Mike Basinger (mike.basinger) said :
#2

totem-xine works fine with XM Radio, using a script, but XM Online does cause the firefox plugin to crash Firefox.

Revision history for this message
Mike Basinger (mike.basinger) said :
#3

This script will play XM Online though totem-xine, gxine or vlc.

Mike

#!/bin/bash
# You must do: chmod a+rx xmonline.sh
# before you can run this script
# usage: ./xmonline.sh 22`
# usage: xine `xmonline.sh 22`
# Thanks to B. Galliart

# Please set the following variables
# The script will only work with a valid XM Online USER and PASS
USER="USER"
PASS="PASS"
CHAN=$1
RATE="high" # setting for the bit RATE are "low" or "high"
PLAYER="totem"
# PLAYER="mplayer"
# PLAYER="alsaplayer"
# PLAYER="xmms"
# Set NO SONG INFO below to 1 to skip getting updates on the song playing
NOSONGINFO=0
UPDATEDELAY=5

### You should not need to modify anything beyond this point

if [ "x$USER" == "xUSER" ] ; then
echo You must modify the USER variable in the script >&2
exit 1
fi

if [ "x$PASS" == "xPASS" ] ; then
echo You must modify the PASS variable in the script >&2
exit 1
fi

if [ "x$CHAN" == "x" ] ; then
echo Must provide a channel number on the command line >&2
echo Such as \"$0 22\" to play channel 22 >&2
exit 1
fi

if [ ! -d $HOME/.xmonline ] ; then
mkdir $HOME/.xmonline
fi

cd $HOME/.xmonline

rm -f xmonline.cookies xmonlinelogin.out xmonlinestream.out \
xmonlinesong.out xmonlinesong.old
curl -s -c xmonline.cookies -d "user_id=$USER" -d "pword=$PASS" \
http://xmro.xmradio.com/xstream/login_servlet.jsp > xmonlinelogin.out
EXITCODE=$?
if [ $EXITCODE -ne 0 ] ; then
echo curl error exit value $EXITCODE >&2
exit $EXITCODE
fi

egrep "Invalid email and/or password" xmonlinelogin.out > /dev/null
if [ $? -eq 0 ] ; then
echo Invalid email and/or password >&2
exit 1
fi

egrep "[(]Not .*? " xmonlinelogin.out > /dev/null
if [ $? -eq 0 ] ; then
echo -n "Logged in as: " >&2
egrep "[(]Not .*? " xmonlinelogin.out | \
sed 's/.*[(]Not //;s/? .*//' >&2
fi
rm -f xmonlinelogin.out

curl -s -b xmonline.cookies -d "" \
"http://player.xmradio.com/player/2ft/playMedia.jsp?ch=$CHAN&speed=$RATE" \
> xmonlinestream.out
egrep "xmmediaplayer[.]URL = '" xmonlinestream.out > /dev/null
if [ $? -eq 0 ] ; then
STREAM=`egrep "xmmediaplayer[.]URL = '" xmonlinestream.out | \
sed "s/.*xmmediaplayer[.]URL = '//;s/';.*//"`
else
egrep "<PARAM NAME=\"FileName\" VALUE=\"" xmonlinestream.out > /dev/null
if [ $? -eq 0 ] ; then
STREAM=`egrep "<PARAM NAME=\"FileName\" VALUE=\"" xmonlinestream.out | \
sed "s/.*<PARAM NAME=\"FileName\" VALUE=\"//;s/\">.*//"`
else
echo "Error parsing html to find stream URL" >&2
exit 1
fi
fi
rm -f xmonlinestream.out
echo Stream URL $STREAM >&2

$PLAYER $STREAM &
PLAYERPID=$!

if [ $NOSONGINFO -eq 1 ] ; then
exit 0
fi

while [ true ] ; do
curl -s -b xmonline.cookies -d "" -H "Pragma: no-cache" \
"http://player.xmradio.com/padData/pad_data_servlet.jsp?channel=$CHAN&rnd=$RANDOM" \
> xmonlinesong.out
egrep "<artist>|<album>|<songtitle>|<channelnumber>|<channelname>" \
xmonlinesong.out > /dev/null
if [ $? -ne 0 ] ; then
echo "Error parsing html to find song info" >&2
exit 1
fi
if [ -f xmonlinesong.old ] ; then
DIFF=`comm -3 xmonlinesong.out xmonlinesong.old | wc -l`
else
DIFF=1
fi
if [ $DIFF -gt 0 ] ; then
egrep "<artist>|<album>|<songtitle>|<channelnumber>|<channelname>" \
xmonlinesong.out | sed 's/<\/[a-z]*>//' | \
sed 's/^..<artist>/ Artist: /' | \
sed 's/^..<album>/ Album: /' | \
sed 's/^..<songtitle>/ Song Title: /' | \
sed 's/^..<channelnumber>/ Channel #: /' | \
sed 's/^..<channelname>/ Channel Name: /' >&2
echo
fi
sleep $UPDATEDELAY
mv xmonlinesong.out xmonlinesong.old
( kill -0 $PLAYERPID 2>&1 ) > /dev/null
if [ $? -eq 1 ] ; then
echo Player ended >&2
rm -f xmonlinesong.old
exit 0
fi
done

Revision history for this message
Ubuntu User (anotherubuntuuser) said :
#4

Edward-

If these comments solved your problem, please consider closing this request as answered. You can find useful information on managing your support requests here: https://wiki.ubuntu.com/SupportRequests

If you are still having problems, let us know and we'll keep working on them.

Thanks-

Jim Jones

Revision history for this message
Christopher (captain-c) said :
#5

Great job on this script, still works as of 3/7/2008. Thanks!

Can you help with this problem?

Provide an answer of your own, or ask Edward S. Benish for more information if necessary.

To post a message you must log in.