सब कुछ करने की कोशिश करने के बाद, मैंने पिच बदलने के लिए साउंडपूल के साथ जाने का फैसला किया, 2.0 की एक प्लेबैक दर एक फ्रीक पर अपने मूल को डबल करने के लिए ध्वनि का कारण बनती है, और 0.5 की प्लेबैक दर इसे आधे से खेलती है मूल आवृत्ति। प्लेबैक दर सीमा 0.5 से 2.0 है। लेकिन यह freq निचले और 0.5 और 2.0 से अधिक के साथ काम किया था।
मैं अपने काम के कोड पोस्टिंग कर रहा हूँ,
लेकिन के रूप में अपनी बस डेमो प्रयोजन के लिए, यहाँ आप मैन्युअल रूप से "प्लेबैक दर" बदलने की जरूरत है, हर आप उदाहरण के लिए आवेदन स्थापित: "sp.play (विस्फोट, 1,1,0,0,1.5 एफ) "यहां" 1.5 एफ "प्लेबैक दर है। कोई आसानी से एक संपादन दृश्य, या रन टाइम पर प्लेबैक दर के मूल्य को सेट करने के समान कुछ बना सकता है।
इस ऐप में, आपको बस प्लेबैक दर पर संगीत चलाने के लिए ऐप की स्क्रीन पर टैप करने की आवश्यकता है।
import java.io.IOException;
import android.app.Activity;
import android.content.res.AssetFileDescriptor;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class SoundPoolActivity extends Activity implements OnClickListener {
SoundPool sp;
int explosion = 0;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View v = new View(this);
v.setOnClickListener(this);
setContentView(v);
sp = new SoundPool(1,AudioManager.STREAM_MUSIC,0);
//explosion = sp.load(this, R.raw.hh,0);
explosion = sp.load("/sdcard/hh.m4a",0);
}
public void onClick(View v){
if (explosion!=0){
sp.play(explosion, 1,1,0,0,2.3f);
}
}
}
स्रोत
2012-05-20 19:51:15
परिवर्तन '1 + x'' 1.0f + x' और (भी '0.005f' –
यह कोई फर्क नहीं पड़ता के लिए' 0.005' बदल जाते हैं। करने के लिए – Patrick
कैसे आप अपने कोड का परीक्षण कर रहे हैं। यदि आप एक प्रयोग कर रहे हैं असली डिवाइस, यह संभव हो सकता है कि प्लेबैक दर गतिशील रूप से बदलने के लिए आपका डिवाइस बहुत धीमा हो। यदि आप सिम्युलेटर का उपयोग कर रहे हैं, तो समस्या आपके होस्ट का साउंड कार्ड है। प्लेबैक दर बदलना एक छोटा काम नहीं है और जटिल इंटरपोलेशन की आवश्यकता हो सकती है विशेष रूप से जब गैर-मानक रूपांतरण दर के साथ चलते हैं। – MBober