As question mentioned, when I try play a video in XBMC (my distro is: raspbmc), it play sound and display OpenGL Spectrum instead of display video content !
Can you tell me how to fix this?
It sounds like a codec issue to me. The same kind of thing would happen using windows whilst trying to play a video file for which the correct video codec wasn't installed. You would get the spectrum display, but still hear the audio.
not entirely sure if raspbmc has ffmpeg installed by default, but you could always try SSHing into your pi, and running the following command:
ffmpeg -i filename.flv(/mpg/mp4/avi)
this should give you some codec information that the video file has been encoded with, you can google whether the pi can play it, or update your question with the information.