A method for playing a streaming media file, comprising: downloading and playing, by a first apparatus, a streaming media file from a streaming media server; and when the first apparatus receives a handover instruction input by a subscriber, sending, by the first apparatus, a playing command to a second apparatus so as to hand over the streaming media file being played on the first apparatus to the second apparatus for playing, wherein the first apparatus and the second apparatus belong to a subnet of a home network; acquiring, by the first apparatus, information of data which is of the streaming media file and is stored in its cache, wherein the information of data which is of the streaming media file and is stored in its cache comprises a size of the data which is of the streaming media file and is stored in the cache, or a start time point and an end time point of the data which is of the streaming media file and is stored in the cache; the start time point is a timestamp 2 on which the streaming media file is played when the first apparatus receives the handover instruction; and the end time point is a timestamp 1 corresponding to a last complete data packet of the data which is of the streaming media file and is stored in the cache; determining, by the first apparatus whether a data amount which is of the streaming media file and is stored in the cache is sufficient; if the data amount which is of the streaming media file and is stored in the cache is not sufficient, sending, by the first apparatus, a URL and a value of the timestamp 2 that are of the streaming media file to the second apparatus; if the data amount which is of the streaming media file and is stored in the cache is sufficient, determining, by the first apparatus whether a value of the timestamp 1 is an end position of the streaming media file; if the value of a timestamp 1 is an end position of the streaming media file, transmitting, by the first apparatus, the data which is of the streaming media file and is stored in the cache to a cache of the second apparatus through the home network; if the value of the timestamp 1 is not the end position of the streaming media file, transmitting, by the first apparatus, the data which is of the streaming media file and is stored in the cache of the first apparatus to the cache of the second apparatus through the home network, and sending the URL and the value of the timestamp 1 that are of the streaming media file to the second apparatus for the second apparatus to request from the streaming media server according to information of the URL and the value of the timestamp and to acquire data which is of the streaming media file and is after the timestamp 1. downloading and playing, by a first apparatus, a streaming media file from a streaming media server; and when the first apparatus receives a handover instruction input by a subscriber, sending, by the first apparatus, a playing command to a second apparatus so as to hand over the streaming media file being played on the first apparatus to the second apparatus for playing, wherein the first apparatus and the second apparatus belong to a subnet of a home network; acquiring, by the first apparatus, information of data which is of the streaming media file and is stored in its cache, wherein the information of data which is of the streaming media file and is stored in its cache comprises a size of the data which is of the streaming media file and is stored in the cache, or a start time point and an end time point of the data which is of the streaming media file and is stored in the cache; the start time point is a timestamp 2 on which the streaming media file is played when the first apparatus receives the handover instruction; and the end time point is a timestamp 1 corresponding to a last complete data packet of the data which is of the streaming media file and is stored in the cache; determining, by the first apparatus whether a data amount which is of the streaming media file and is stored in the cache is sufficient; if the data amount which is of the streaming media file and is stored in the cache is not sufficient, sending, by the first apparatus, a URL and a value of the timestamp 2 that are of the streaming media file to the second apparatus; if the data amount which is of the streaming media file and is stored in the cache is sufficient, determining, by the first apparatus whether a value of the timestamp 1 is an end position of the streaming media file; if the value of a timestamp 1 is an end position of the streaming media file, transmitting, by the first apparatus, the data which is of the streaming media file and is stored in the cache to a cache of the second apparatus through the home network; if the value of the timestamp 1 is not the end position of the streaming media file, transmitting, by the first apparatus, the data which is of the streaming media file and is stored in the cache of the first apparatus to the cache of the second apparatus through the home network, and sending the URL and the value of the timestamp 1 that are of the streaming media file to the second apparatus for the second apparatus to request from the streaming media server according to information of the URL and the value of the timestamp and to acquire data which is of the streaming media file and is after the timestamp 1.