我试图在Excel宏中显示毫秒.我有一个整数列,它们是以毫秒为单位的时间戳(例如28095200是7:48:15.200 am),我想在它旁边创建一个新列,它保持运行平均值并以hh:mm:ss.000格式显示时间.
Dim Cel As Range
Set Cel = Range("B1")
temp = Application.Average(Range("A1:A2")) / 1000
ms = Round(temp - Int(temp), 2) * 1000
Cel.Value = Strings.Format((temp / 60 / 60 / 24), "hh:mm:ss") _
& "." & Strings.Format(ms, "#000")
Run Code Online (Sandbox Code Playgroud)
这只在单元格中显示"mm:ss.0".然而,当我点击单元格时,它会在公式栏中显示"hh:mm:ss".为什么缺少时间?如何显示小时,分钟,秒和毫秒?
我正在使用AVAudioPlayer框架,我有几个声音可以一次播放一个.声音播放结束后,我希望应用程序执行某些操作.我尝试使用audioPlayerDidFinishPlaying在第一个声音结束时执行操作,但我无法将其用于第二个声音,因为我遇到了重新定义错误.我可以使用NSTimeInterval来获取声音的持续时间吗?
// ViewController.h
#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
#import <AVFoundation/AVAudioPlayer.h>
@interface ViewController : UIViewController {
UIButton *begin;
UIWindow *firstTestWindow;
UIWindow *secondTestWindow;
AVAudioPlayer *player;
NSTimeInterval duration;
}
@property (nonatomic, retain) IBOutlet UIButton *begin;
@property (nonatomic, retain) IBOutlet UIWindow *firstTestWindow;
@property (nonatomic, retain) IBOutlet UIWindow *secondTestWindow;
@property (nonatomic, retain) AVAudioPlayer *player;
@property (readonly) NSTimeInterval duration;
- (IBAction)begin:(id)sender;
- (IBAction)doTapScreen:(id)sender;
@end
//ViewController.m
#import "ViewController.h"
@implementation ViewController
@synthesize begin, player, firstTestWindow, secondTestWindow;
//first sound
- (IBAction)begin:(id)sender; {
[firstTestWindow makeKeyAndVisible];
NSString *soundFilePath =
[[NSBundle mainBundle] pathForResource: …Run Code Online (Sandbox Code Playgroud) 我试图用Vagrant安装edx Devstack,我在Windows机器上.我收到的错误似乎是由Windows不支持的符号链接引起的.
根据Windows下处理行结尾和符号链接下的edx故障排除指南,我应该在cygwin中运行以下命令来处理符号链接.
git rm --cached -r . && git reset --hard
git config --global alias.add-symlink '!__git_add_symlink(){
dst=$(echo "$2")/../$(echo "$1");
if [ -e "$dst" ]; then
hash=$(echo "$1" | git hash-object -w --stdin);
git update-index --add --cacheinfo 120000 "$hash" "$2";
git checkout -- "$2";
else
echo "ERROR: Target $dst does not exist!";
echo " Not creating invalid symlink.";
fi;
}; __git_add_symlink "$1" "$2"'
git config --global alias.rm-symlink '!__git_rm_symlink(){
git checkout -- "$1"; link=$(echo "$1");
POS=$'\''/'\''; DOS=$'\''\\\\'\''; …Run Code Online (Sandbox Code Playgroud) 将最新的导航组件与 一起使用BottomNavigationView,NavController现在默认保存和恢复选项卡的状态:
作为此更改的一部分,onNavDestinationSelected()、BottomNavigationView.setupWithNavController() 和 NavigationView.setupWithNavController() 的 NavigationUI 方法现在会自动保存和恢复弹出目的地的状态,从而无需更改任何代码即可支持多个返回堆栈。当使用带有片段的导航时,这是与多个返回堆栈集成的推荐方法。
这很棒!现在,切换选项卡将为您提供最后查看的堆栈。
但是,如果用户重新选择一个选项卡,假设他们已经离开Home -> Detail Page A -> Detail Page B,然后他们选择Home希望返回到默认视图的选项卡,他们仍然会看到Detail Page B。
似乎讨论的一部分是处理问题跟踪器中提到的“重新选择选项卡”行为,但我无法找出实现此目的的推荐方法。
NavigationAdvancedSample中包含的所有内容是:
val bottomNavigationView = findViewById<BottomNavigationView>(R.id.bottom_nav)
bottomNavigationView.setupWithNavController(navController)
// Setup the ActionBar with navController and 3 top level destinations
appBarConfiguration = AppBarConfiguration(
setOf(R.id.titleScreen, R.id.leaderboard, R.id.register)
)
setupActionBarWithNavController(navController, appBarConfiguration)
Run Code Online (Sandbox Code Playgroud)
这只是恢复之前的状态,如发行说明中所述。
我们如何检查是否再次点击导航栏项目并清除后堆栈?
android android-navigation bottomnavigationview android-bottomnav android-architecture-navigation
在某些设备上播放音乐时,我遇到了一种奇怪的行为.当音频首次开始播放时,位置会跳跃并且不稳定地播放,直到缓冲完全完成.
我从Tutorials Point的示例代码开始.我正在创建MediaPlayer OnCreate():
// Create Media Player
mediaPlayer = new MediaPlayer();
mediaPlayer.setOnBufferingUpdateListener(this);
mediaPlayer.reset();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
prepareMediaPlayer();
Run Code Online (Sandbox Code Playgroud)
prepareMediaPlayer 像这样设置数据:
private void prepareMediaPlayer() {
try {
mediaPlayer.setDataSource(myurl);
mediaPlayer.prepareAsync();
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
Toast.makeText(getApplicationContext(),
"Playing sound",Toast.LENGTH_SHORT).show();
mediaPlayer.start();
}
});
} catch (IOException e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
并onBufferingUpdate打印出缓冲进度:
@Override
public void onBufferingUpdate(MediaPlayer mediaPlayer, int bufferingProgress) {
Log.v(TAG, "onBufferingUpdate() "+bufferingProgress +
"\ncurrentposition: "+mediaPlayer.getCurrentPosition());
seekbar.setSecondaryProgress(bufferingProgress);
}
Run Code Online (Sandbox Code Playgroud)
我得到的日志输出显示了当媒体播放器仍在缓冲时位置如何跳跃.我已经在一些设备上进行了测试,这只发生在Moto G上.这是固件中的错误还是我做错了什么?
08-29 12:50:17.934 277/com.test.mediaplayer V/audio-player: onBufferingUpdate() …Run Code Online (Sandbox Code Playgroud) 不再是迁移到AndroidX的烦恼...
我几乎完成了迁移,但是遇到了一个似乎无法逾越的错误。
已经尝试Clean & Rebuild和Invalidate Caches / Restart
似乎是将@Deprecated注入到无法识别的R.java文件中。
该应用程序的build.gradle文件很长,但是这里有相关部分(如果相关,可以发布更多内容):
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: "kotlin-android-extensions"
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
jcenter()
google()
}
dependencies {
classpath 'com.google.gms:google-services:4.3.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
repositories {
maven { url 'https://maven.google.com' }
maven { url "https://jitpack.io" }
maven { url 'https://maven.fabric.io/public' }
maven { url 'http://www.idescout.com/maven/repo/' }
maven { url "http://dl.bintray.com/populov/maven" }
}
android {
compileSdkVersion 29
defaultConfig …Run Code Online (Sandbox Code Playgroud) 相关问题:Firebase Auth UI 如何处理重新身份验证? (此问题针对iOS,未解决)
我想允许用户在 Android 上使用 FirebaseUI 更新他们的电子邮件/密码/等。
根据指南,“插入式”用户界面提供:
帐户管理- 用于处理帐户管理任务的流程,例如帐户创建和密码重置。
在GitHub 上,看起来 AuthUI 管理页面功能仍在进行中(对吗?)
因此,我创建了自己的帐户管理页面,但其中一些操作是安全敏感的,需要重新进行身份验证:
某些安全敏感操作(例如删除帐户、设置主电子邮件地址和更改密码)要求用户最近登录。如果您执行这些操作之一,而用户登录时间过长,则动作失败并抛出
FirebaseAuthRecentLoginRequiredException。
示例代码要求我们在将凭据传递给重新验证之前从用户那里检索凭据:
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
// Get auth credentials from the user for re-authentication. The example below shows
// email and password credentials but there are multiple possible providers,
// such as GoogleAuthProvider or FacebookAuthProvider.
AuthCredential credential = EmailAuthProvider
.getCredential("user@example.com", "password1234");
// Prompt the user to re-provide their sign-in …Run Code Online (Sandbox Code Playgroud) 我正在使用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)
声音播放正常,但是当我选择列表中的下一项时,之前的声音并没有停止。所以如果我连续触摸一堆,就会同时播放一堆声音。
如何停止所有当前播放的声音?
我想使用HSV而不是RGB来设置标签的背景颜色.如何将其实现到代码中?
码:
//.m file
#import "IBAppDelegate.h"
@implementation IBAppDelegate
@synthesize label;
{
self.label.backgroundColor = [UIColor colorWithRed:1.0f
green:0.8f
blue:0.0f
alpha:1.0f];
}
Run Code Online (Sandbox Code Playgroud) 我在Xcode中为iphone做了一个应用程序,但是由于最近的发展,我现在需要将它变成一个Web应用程序.
我知道Dashcode创建适合iphone的Web应用程序.我可以以某种方式将我的Xcode项目导入Dashcode吗?或者我可以使用Xcode将其转换为Web应用程序而无需完全重写应用程序吗?
android ×4
cocoa-touch ×2
iphone ×2
android-architecture-navigation ×1
androidx ×1
audio-player ×1
cocoa ×1
color-space ×1
dashcode ×1
data-binding ×1
devstack ×1
edx ×1
excel ×1
expo ×1
firebase ×1
firebaseui ×1
git ×1
gradle ×1
hsv ×1
java ×1
media-player ×1
motorola ×1
nsdate ×1
openedx ×1
react-native ×1
rgb ×1
time ×1
vagrant ×1
vba ×1
xcode ×1