Network-on-Chip (NoC) has emerged as a promising architecture which provides efficient interconnections over hundreds of processor cores. However, how to schedule tasks on such large amount of cores according to on-chip dynamic workload while lowering energy consumption is a serious problem. In this paper, the task-related energy consumption on NoC-based Multiprocessor System-on-Chips (MPSoCs) is investigated and an Energy-aware Dynamic Scheduling Algorithm (EDSA) is proposed for periodic tasks, such as tasks in stream applications. Simulation experiments demonstrate that the proposed algorithm not only achieves significant energy reduction compared to the random algorithm but also benefits the throughput of the system.