Implement NativeTonePlayer. Fix #656