I have almost no problem to understand English speech or radio talk and I can communicate with native speakers with no problem but surprisingly I can't recognize the words in movies and songs. I've read somewhere that using subtitle and lyrics just worsen listening skills. So would anyone please tell me what to do?
There are a few things you can try to help with comprehension.
For films, try searching out written summaries of the film to read ahead of time. Having basic context for what you will be hearing can make it much easier to understand the dialog.
Read a screenplay or the song lyrics ahead, and then listen to the film/song without them. Again, you'll have a general idea of what you are listening for, and then can train your ear to listen for the words you remember from your reading.
Repeated listening. Listening to a short section of a film over and over will help you build comprehension. You can also try writing out the dialog as you listen. If you are the type of person who needs to write to retain information, this can really help you absorb what you are hearing.
Switch up the genres you are listening to. Some films and songs are just easier to understand than others. Ask a native English speaker from the US how much they understood of Trainspotting, for example, and I suspect every one of them will tell you they needed subtitles. On the other hand, a movie where the characters talk slowly and clearly like The Wizard of Oz takes a lot less work to understand. I apologize that my movie references are both so dated - they are just the ones that came to mind today!
I've read somewhere that using subtitle and lyrics just worsen listening skills.
Don't believe everything you read.
I'm a native AmE speaker and I like turning on subtitles!
If you know that always reading subtitles might be a distraction from acquiring language listening skills, then just don't do that when the subtitles are on. It's not like subtitles are the product of the some evil anti-language-learning Illuminati. I also have to read lyrics to understand them.
Also, that advice--if it has merit--would probably be more applicable to someone still learning how to hear English, which wouldn't apply to you.
Of course, sometimes lyrics/subtitles are good, sometimes lousy. But what other option is there? None really.