An incomplete song play is mostly due to the corrupt file which you have downloaded. Although it may show around 7Mb for a file but if the file is corrupt then it won't play any part of it or in some cases just plays the start and skips to the next.
What exactly a corrupt file is
A corrupt mp3 file means that some audio bits and tunes are missing or contain some bug. The mp3 player usually plays these bits if all are there in the proper order. If some bit of data is missing then it simply skips to the next track.
The corruption of the file can be judged by the amount of file is playable. If you can only play the start then the whole mp3 is corrupt. It is waste of trying because some times you could get only till the middle and later by default it skips.
Detect a corrupted mp3 or mp4 file:-
The best way to check a corrupted file is to do a simple fast forward(don't do a 4x fast forward for you will not know when the file is fast forwarded very fast) till the end of the file. In fast forward it will skip to the next available data point. As you are able to only fast forward till the middle then the remaining portion of the file is missing/corrupt. If fast forward jumps directly to the last then the whole song is corrupt and needs to be deleted.
For an mp4 file when the video turns pixelated during a fast forward instead of the smooth audio/video then that video is corrupt. A complete video plays the audio and video with ease even if you fast forward.
Let the file be partially or completely corrupt you have to delete it because corrupt file will never play completely.
How to avoid a corrupt file
1)Always download files from a reputable source. Some sites don't have proper files to which many fall trap to. If you download from good sources then you will not have that issue at all.(My suggestion is to avoid using free downloads as far as possible as it's against the law-piracy issues and also you got cheap audio with these kind of issues)
2)There are some download managers which check for the link, file before download. If the link or file is missing/corrupt then you can avoid this issue.