如何在 Windows 窗体中的按钮单击事件期间播放 .mp3 文件?
我是 C# 新手,任何指向此的指针都会非常有帮助。
我看到宋类仅包含IsRated和Rating与设置方法属性.但是,我发现WP7中的默认音乐播放器应用程序能够为歌曲评分
那么,我怎么评价一首歌?
我经常使用 Wordpress 音频短代码将我的播客剧集嵌入到我的帖子中:
[audio src="http://podcastsourcefile"]
Run Code Online (Sandbox Code Playgroud)
不幸的是,默认的音频播放器看起来很糟糕。我想用 CSS 重新设计它的样式。我可以发送一个模型来向您展示它应该是什么样子,但基本要点如下:
这是我希望播放器的样子:

(我有播放按钮的 .png 文件。)
我在 android 中创建了一个音乐播放器服务类,并在片段中有一个播放暂停按钮。我正在音乐播放器服务中运行无线电流。该服务正在后台运行。当应用程序打开时,服务可以通过播放暂停按钮进行控制。但是当应用程序在后台时,如果我关闭服务播放暂停按钮有时不会改变。我该如何解决
public class RadioStreamFragment extends Fragment {
//Constant
private static final String TAG = "RadioStreamFragment";
//Member variables
private String mTitle = "";
private Bitmap mBitmap;
private boolean mIsPlaying = false;
private int mMaxVolume;
private int mVolume;
private OnSeekBarChangeListener mListener;
private AudioManager mAudioManager;
//View member variables
private TextView mTVTitle;
//private ImageView mImageView;
public static Button mButton;
private SeekBar mSeekBar;
private AutoScrollViewPager pager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mAudioManager = (AudioManager) getActivity()
.getSystemService(Context.AUDIO_SERVICE);
}
@Override
public View onCreateView(LayoutInflater …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建简单的 Android 应用程序来播放 sd 卡中的音频文件。
我在理解服务方面有一些问题。我会具体的,这是我的问题。
MediaPlayer类?在后台服务或 UI 线程中。就绑定服务在 UI 线程上运行而言,如果它在 UI 线程上运行,那么创建服务绑定等等是没有意义的?仅当我们想在活动(或任何 UI 组件被销毁)时继续在后台播放音乐时,但在这种情况下,即使用户不可见 UI,MusicPlayer 也会占用整个 UI 线程。我对吗 ?IBinder仅返回服务实例的类的活动中运行。请解释这个话题。我将不胜感激任何帮助。谢谢。
java multithreading android audio-player android-service android-music-player
我目前正在使用以下语句来检测音乐:
if MPMusicPlayerController.systemMusicPlayer().playbackState == .Playing {
print("There is music playing")
}
Run Code Online (Sandbox Code Playgroud)
很棒,但这只适用于iTunes播放器,而不是可能来自不同应用的音乐,特别是谈论Spotify.
我不需要知道正在播放的歌曲,简单地说是否有任何播放,所以我可以决定是否为我的游戏提供自己的背景音乐.
编辑:理想情况下,解决方案应涵盖任何第三方音乐节目,而不仅仅是Spotify.
它是一个古老的二进制文件扩展名,实际上是由 Inter-Tel Web Conference 软件创建的视频文件。它包含屏幕录制视频和语音音频,还可以捕获会议期间的键盘聊天记录、与会者和文档管理器窗口。它可以通过 Inter-Tel Collaboration Player 来播放,这是一个包含在网络会议软件包中的独立应用程序。
我现在想做的是找到一种在移动设备上播放这些文件的方法,尽管 Inter-Tel Collaboration Player 提供以 AVI 格式导出文件,但我想知道如何为此制作一个命令行脚本,因为该应用程序有很多Windows 7、8、10 的问题,没有 Mac OS 版本。
为这种扩展创建新播放器的方法是什么?
我的Angular项目中有声音,如下所示:
introInfo() {
this.audio.src = '../assets/sound1.wav';
this.audio.load();
this.audio.play();
}
feedbackInfo() {
this.audio.src = '../assets/sound1.wav';
this.audio.load();
// auto-start
this.audio.play();
}
Run Code Online (Sandbox Code Playgroud)
我希望能够将所有声音静音.如果我单击模板中的按钮:
<img class="grow" id="mute" [src]='mute' (click)="muteF()"/>
Run Code Online (Sandbox Code Playgroud)
我怎么能写我的功能muteF?如果我点击按钮,我想静音.如果我再次单击,则必须执行取消静音.
我正在使用Expo Audio从列表中播放一些简短的声音。
async playAudio(file) {
try {
await Audio.setIsEnabledAsync(true);
const sound = new Audio.Sound();
await sound.loadAsync(file);
await sound.playAsync();
} catch(error) {
console.error(error);
}
}
Run Code Online (Sandbox Code Playgroud)
我从一个呈现的列表中调用 list.map()
renderTheList = (item, i) => {
return (
<View key={i}>
<TouchableOpacity onPress={ () => { this.onAudioSelected(item.audio) }}>
</TouchableOpacity>
</View>
)
}
onAudioSelected(audio) {
// Audio.clearSounds() <-- something like this
playAudio(audio)
...
}
Run Code Online (Sandbox Code Playgroud)
声音播放正常,但是当我选择列表中的下一项时,之前的声音并没有停止。所以如果我连续触摸一堆,就会同时播放一堆声音。
如何停止所有当前播放的声音?
我试图在我的应用程序中使用 Apple 的 Music Kit 来听音乐。我的问题是播放的第一首歌曲会不断重复。使用以下代码正确播放第一首歌曲:
let mediaArray = [songsApple?[songNumber!]]
let playableColledction = MPMediaItemCollection.init(items: mediaArray as! [MPMediaItem])
applicationMusicPlayer.setQueue(with: playableCollection)
applicationMusicPlayer.play()
self.activateAudioSession
Run Code Online (Sandbox Code Playgroud)
activateAudioSession 方法是:
do {
try audioSession.setCategory(AVAudioSessionCategoryPlayback)
try audioSession.setActive(true)
}
catch let error {
print(error.localizedDescription)
}
Run Code Online (Sandbox Code Playgroud)
为了检测歌曲的结尾,我使用了 Apple Music 文档中的以下观察者:
applicationMusicPlayer.beginGeneratingPlaybackNotications()
NotificationCenter.default.addObserver(self, #selector(didFinishSong), name: Notification.Name.MPMusicPlayerControllerNowPlayingItemDidChange, object: nil)
Run Code Online (Sandbox Code Playgroud)
didFinishSong 方法用于从songsApple 数组中获取下一首要播放的歌曲的songNumber。然后将此信息传递回播放歌曲的方法以获取 mediaArray。但是,现在,当歌曲播放结束时,didFinishSong 不会被调用,而是从头开始重复播放。
我在检测歌曲结尾时做错了什么吗?还有另一种方法吗?我也尝试使用计时器,但由于某种原因,只要应用程序进入后台,计数就会不准确,它就会停止计数。
预先感谢您提供的任何帮助。如果您需要更多信息,请不要犹豫,我会澄清更多。
audio-player mpmusicplayercontroller swift apple-music apple-musickit
audio-player ×10
android ×2
swift ×2
angular ×1
apple-music ×1
c# ×1
css ×1
decoder ×1
expo ×1
ios ×1
java ×1
javascript ×1
media-player ×1
mp3 ×1
rate ×1
react-native ×1
spotify ×1
winforms ×1
wordpress ×1