A streaming media resource downloading method, comprising: determining that a first media file is a to-be-downloaded media file according to first network bandwidth, wherein the first network bandwidth is network bandwidth when it is determined that the first media file is a to-be-downloaded media file; and the first media file is comprised in a streaming media resource corresponding to the first network bandwidth, and the first media file comprises N data blocks, wherein N≥2, and N is an integer; and after an (n-1) th data block in the first media file is downloaded, and before an n th data block in the first media file is downloaded, determining a length of the to-be-downloaded n th data block according to network bandwidth reduction times in an executed first media file downloading process, wherein isnsN, wherein the method further comprises: periodically detecting network bandwidth in the first media file downloading process; and obtaining the network bandwidth reduction times in the executed first media file downloading process according to the periodically detected network bandwidth, characterized in that when the network bandwidth in the first media file downloading process is periodically detected, determining a detection period in the following manner: when i-x≥k, determining that T m+1 >T; or when osi-x<k, determining that T m+1 =T; wherein i is a bandwidth level corresponding to the first network bandwidth, and x is a bandwidth level corresponding to network bandwidth detected at an m th time, wherein the bandwidth level is an integer, m is an integer greater than or equal to 1, bandwidth corresponding to i is greater than bandwidth corresponding to x, and k is a preset second threshold; and T is a preset detection period, and T m+1 is a network bandwidth detection period at an (m+1) th time, wherein T m+1 =t m+1 -t m, t m+1 is a network bandwidth detection moment at the (m+1) th time, and t m is a network bandwidth detection moment at the m th time. determining that a first media file is a to-be-downloaded media file according to first network bandwidth, wherein the first network bandwidth is network bandwidth when it is determined that the first media file is a to-be-downloaded media file; and the first media file is comprised in a streaming media resource corresponding to the first network bandwidth, and the first media file comprises N data blocks, wherein N≥2, and N is an integer; and after an (n-1) th data block in the first media file is downloaded, and before an n th data block in the first media file is downloaded, determining a length of the to-be-downloaded n th data block according to network bandwidth reduction times in an executed first media file downloading process, wherein isnsN, wherein the method further comprises: periodically detecting network bandwidth in the first media file downloading process; and obtaining the network bandwidth reduction times in the executed first media file downloading process according to the periodically detected network bandwidth, periodically detecting network bandwidth in the first media file downloading process; and obtaining the network bandwidth reduction times in the executed first media file downloading process according to the periodically detected network bandwidth, characterized in that when the network bandwidth in the first media file downloading process is periodically detected, determining a detection period in the following manner: when i-x≥k, determining that T m+1 >T; or when osi-x<k, determining that T m+1 =T; wherein i is a bandwidth level corresponding to the first network bandwidth, and x is a bandwidth level corresponding to network bandwidth detected at an m th time, wherein the bandwidth level is an integer, m is an integer greater than or equal to 1, bandwidth corresponding to i is greater than bandwidth corresponding to x, and k is a preset second threshold; and T is a preset detection period, and T m+1 is a network bandwidth detection period at an (m+1) th time, wherein T m+1 =t m+1 -t m, t m+1 is a network bandwidth detection moment at the (m+1) th time, and t m is a network bandwidth detection moment at the m th time. when i-x≥k, determining that T m+1 >T; or when osi-x<k, determining that T m+1 =T; wherein i is a bandwidth level corresponding to the first network bandwidth, and x is a bandwidth level corresponding to network bandwidth detected at an m th time, wherein the bandwidth level is an integer, m is an integer greater than or equal to 1, bandwidth corresponding to i is greater than bandwidth corresponding to x, and k is a preset second threshold; and T is a preset detection period, and T m+1 is a network bandwidth detection period at an (m+1) th time, wherein T m+1 =t m+1 -t m, t m+1 is a network bandwidth detection moment at the (m+1) th time, and t m is a network bandwidth detection moment at the m th time.